Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. how to read the text of pushbutton in XML Qt
Forum Updated to NodeBB v4.3 + New Features

how to read the text of pushbutton in XML Qt

Scheduled Pinned Locked Moved Solved General and Desktop
46 Posts 5 Posters 8.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • sankarapandiyanS Offline
    sankarapandiyanS Offline
    sankarapandiyan
    wrote on last edited by VRonin
    #1

    i have done something but it doesnt work ,This is my code

                void MainWindow::on_okbutn_clicked()
    {
       
                QDomDocument document;
            QDomElement root = document.createElement("pushbuttn_text");
                QString text1 = ui->pushbutton1->text();
            QDomElement elemTab1 = document.createElement("ss");
    
           elemTab1.setAttribute(QString::data(text1);
    
    //elemTab.appendChild( document.createTextNode( text))
                     
             root.appendChild(elemTab1);
    
              QString filename1=QDesktopServices::storageLocation(QDesktopServices::DataLocation)+"/home/newuser/Desktop/filenamemw.xml";
    
          QFile file("/home/newuser/Desktop/filenamemw.xml");
          if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
            qDebug() << "Open the file for writing failed";
          } else {
            QTextStream stream(&file);
            stream << document.toString();
            file.close();
            qDebug() << "Writing is done";
          }
    

    in this code writing is done properly ,and reading is the problrm i think ,
    and this is my error

    //error: no matching function for call to 'QString::data(QString&)'~~

    i think the problem is in setting attribute i dnt know how to resolve if anybody knows tel me pls.

    Thanks in advanzZ.....

    jsulmJ 1 Reply Last reply
    0
    • sankarapandiyanS sankarapandiyan

      i have done something but it doesnt work ,This is my code

                  void MainWindow::on_okbutn_clicked()
      {
         
                  QDomDocument document;
              QDomElement root = document.createElement("pushbuttn_text");
                  QString text1 = ui->pushbutton1->text();
              QDomElement elemTab1 = document.createElement("ss");
      
             elemTab1.setAttribute(QString::data(text1);
      
      //elemTab.appendChild( document.createTextNode( text))
                       
               root.appendChild(elemTab1);
      
                QString filename1=QDesktopServices::storageLocation(QDesktopServices::DataLocation)+"/home/newuser/Desktop/filenamemw.xml";
      
            QFile file("/home/newuser/Desktop/filenamemw.xml");
            if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
              qDebug() << "Open the file for writing failed";
            } else {
              QTextStream stream(&file);
              stream << document.toString();
              file.close();
              qDebug() << "Writing is done";
            }
      

      in this code writing is done properly ,and reading is the problrm i think ,
      and this is my error

      //error: no matching function for call to 'QString::data(QString&)'~~

      i think the problem is in setting attribute i dnt know how to resolve if anybody knows tel me pls.

      Thanks in advanzZ.....

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by jsulm
      #2

      @sankarapandiyan said in how to read the text of pushbutton in XML Qt:

      elemTab1.setAttribute(QString::data(text1);

      Please read the documentation: http://doc.qt.io/qt-5/qstring.html#data
      First: data() is not static, second data() takes no parameters.
      So, it should be

      elemTab1.setAttribute(text1.data());
      

      But actually there is no need to convert QString to char*, so

      elemTab1.setAttribute(text1);
      

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      sankarapandiyanS 1 Reply Last reply
      5
      • jsulmJ jsulm

        @sankarapandiyan said in how to read the text of pushbutton in XML Qt:

        elemTab1.setAttribute(QString::data(text1);

        Please read the documentation: http://doc.qt.io/qt-5/qstring.html#data
        First: data() is not static, second data() takes no parameters.
        So, it should be

        elemTab1.setAttribute(text1.data());
        

        But actually there is no need to convert QString to char*, so

        elemTab1.setAttribute(text1);
        
        sankarapandiyanS Offline
        sankarapandiyanS Offline
        sankarapandiyan
        wrote on last edited by
        #3

        @jsulm thanks a lot

        aha_1980A 1 Reply Last reply
        0
        • sankarapandiyanS sankarapandiyan

          @jsulm thanks a lot

          aha_1980A Offline
          aha_1980A Offline
          aha_1980
          Lifetime Qt Champion
          wrote on last edited by
          #4

          @sankarapandiyan

          So if your issue is solved, please mark this topic as SOLVED too. Thanks

          Qt has to stay free or it will die.

          sankarapandiyanS 2 Replies Last reply
          0
          • aha_1980A aha_1980

            @sankarapandiyan

            So if your issue is solved, please mark this topic as SOLVED too. Thanks

            sankarapandiyanS Offline
            sankarapandiyanS Offline
            sankarapandiyan
            wrote on last edited by sankarapandiyan
            #5

            @aha_1980 nop its under process..
            please try to resolve if yu can
            Thanks in Advance

            1 Reply Last reply
            0
            • aha_1980A aha_1980

              @sankarapandiyan

              So if your issue is solved, please mark this topic as SOLVED too. Thanks

              sankarapandiyanS Offline
              sankarapandiyanS Offline
              sankarapandiyan
              wrote on last edited by
              #6

              @aha_1980 i'll do aftr i completed

              aha_1980A 1 Reply Last reply
              0
              • sankarapandiyanS sankarapandiyan

                @aha_1980 i'll do aftr i completed

                aha_1980A Offline
                aha_1980A Offline
                aha_1980
                Lifetime Qt Champion
                wrote on last edited by
                #7

                @sankarapandiyan

                So what's your problem now? Did you try @jsulm's suggestion? Do you get another error?

                Qt has to stay free or it will die.

                sankarapandiyanS 1 Reply Last reply
                0
                • aha_1980A aha_1980

                  @sankarapandiyan

                  So what's your problem now? Did you try @jsulm's suggestion? Do you get another error?

                  sankarapandiyanS Offline
                  sankarapandiyanS Offline
                  sankarapandiyan
                  wrote on last edited by sankarapandiyan
                  #8

                  @aha_1980 yes same error i got it repeatdly .@jsulm gave the document to read ,now i am doing that.

                      QDomDocument document;
                  
                  QDomElement root = document.createElement("pushbuttn_text");
                  
                     QString text1 = ui->pushbutton1->text();
                                           
                   QDomElement elemTab1 = document.createElement("ss");
                  
                      elemTab1.setAttribute(text1);
                  

                  //elemTab.appendChild( document.createTextNode( text))

                            root.appendChild(elemTab1);
                  

                  and this is my code

                  RatzzR 1 Reply Last reply
                  0
                  • sankarapandiyanS sankarapandiyan

                    @aha_1980 yes same error i got it repeatdly .@jsulm gave the document to read ,now i am doing that.

                        QDomDocument document;
                    
                    QDomElement root = document.createElement("pushbuttn_text");
                    
                       QString text1 = ui->pushbutton1->text();
                                             
                     QDomElement elemTab1 = document.createElement("ss");
                    
                        elemTab1.setAttribute(text1);
                    

                    //elemTab.appendChild( document.createTextNode( text))

                              root.appendChild(elemTab1);
                    

                    and this is my code

                    RatzzR Offline
                    RatzzR Offline
                    Ratzz
                    wrote on last edited by Ratzz
                    #9

                    @sankarapandiyan

                    setAttribute should take 2 argument?

                    --Alles ist gut.

                    sankarapandiyanS 2 Replies Last reply
                    1
                    • RatzzR Ratzz

                      @sankarapandiyan

                      setAttribute should take 2 argument?

                      sankarapandiyanS Offline
                      sankarapandiyanS Offline
                      sankarapandiyan
                      wrote on last edited by
                      #10

                      @Ratzz nop only one it want to take

                      RatzzR 1 Reply Last reply
                      0
                      • RatzzR Ratzz

                        @sankarapandiyan

                        setAttribute should take 2 argument?

                        sankarapandiyanS Offline
                        sankarapandiyanS Offline
                        sankarapandiyan
                        wrote on last edited by
                        #11

                        @Ratzz nop only one it want to take

                        jsulmJ 1 Reply Last reply
                        0
                        • sankarapandiyanS sankarapandiyan

                          @Ratzz nop only one it want to take

                          RatzzR Offline
                          RatzzR Offline
                          Ratzz
                          wrote on last edited by Ratzz
                          #12

                          @sankarapandiyan
                          You want to take one attribute ??
                          Did you see document ? http://doc.qt.io/archives/qt-4.8/qdomelement.html#setAttribute
                          What is the error now?

                          --Alles ist gut.

                          sankarapandiyanS 1 Reply Last reply
                          4
                          • sankarapandiyanS sankarapandiyan

                            @Ratzz nop only one it want to take

                            jsulmJ Offline
                            jsulmJ Offline
                            jsulm
                            Lifetime Qt Champion
                            wrote on last edited by
                            #13

                            @sankarapandiyan said in how to read the text of pushbutton in XML Qt:

                            nop only one it want to take

                            This is wrong.
                            setAttribute takes two arguments as you can see in documentation.
                            A XML attribute has a name and a value, that's why setAttribute has two parameters.

                            https://forum.qt.io/topic/113070/qt-code-of-conduct

                            sankarapandiyanS 1 Reply Last reply
                            2
                            • jsulmJ jsulm

                              @sankarapandiyan said in how to read the text of pushbutton in XML Qt:

                              nop only one it want to take

                              This is wrong.
                              setAttribute takes two arguments as you can see in documentation.
                              A XML attribute has a name and a value, that's why setAttribute has two parameters.

                              sankarapandiyanS Offline
                              sankarapandiyanS Offline
                              sankarapandiyan
                              wrote on last edited by sankarapandiyan
                              #14

                              @jsulm oh sry for my wrong answer
                              is it possible to do without attribute !coz i want to read one paramtr only

                              RatzzR jsulmJ 2 Replies Last reply
                              0
                              • sankarapandiyanS sankarapandiyan

                                @jsulm oh sry for my wrong answer
                                is it possible to do without attribute !coz i want to read one paramtr only

                                RatzzR Offline
                                RatzzR Offline
                                Ratzz
                                wrote on last edited by Ratzz
                                #15

                                @sankarapandiyan

                                yes but using QDomText
                                But it creates the text node.

                                --Alles ist gut.

                                sankarapandiyanS 1 Reply Last reply
                                0
                                • RatzzR Ratzz

                                  @sankarapandiyan

                                  yes but using QDomText
                                  But it creates the text node.

                                  sankarapandiyanS Offline
                                  sankarapandiyanS Offline
                                  sankarapandiyan
                                  wrote on last edited by
                                  #16

                                  @Ratzz by directly reading ??

                                  RatzzR 1 Reply Last reply
                                  0
                                  • sankarapandiyanS sankarapandiyan

                                    @jsulm oh sry for my wrong answer
                                    is it possible to do without attribute !coz i want to read one paramtr only

                                    jsulmJ Offline
                                    jsulmJ Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by jsulm
                                    #17

                                    @sankarapandiyan I don't understand you: setAttribute sets an attribute, it does not read anything. So, what do you want to do?
                                    If your attribute does not have a value you can pass empty string as value:

                                    elemTab1.setAttribute(text1, "");
                                    

                                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    1 Reply Last reply
                                    2
                                    • sankarapandiyanS Offline
                                      sankarapandiyanS Offline
                                      sankarapandiyan
                                      wrote on last edited by
                                      #18

                                      @jsulm said in how to read the text of pushbutton in XML Qt:

                                      If your attribute does not have a value you can pass empty string as value:

                                      sure....i will try Thanks a lot

                                      1 Reply Last reply
                                      0
                                      • RatzzR Ratzz

                                        @sankarapandiyan
                                        You want to take one attribute ??
                                        Did you see document ? http://doc.qt.io/archives/qt-4.8/qdomelement.html#setAttribute
                                        What is the error now?

                                        sankarapandiyanS Offline
                                        sankarapandiyanS Offline
                                        sankarapandiyan
                                        wrote on last edited by
                                        #19

                                        @Ratzz thanks a lot

                                        1 Reply Last reply
                                        0
                                        • sankarapandiyanS sankarapandiyan

                                          @Ratzz by directly reading ??

                                          RatzzR Offline
                                          RatzzR Offline
                                          Ratzz
                                          wrote on last edited by
                                          #20

                                          @sankarapandiyan

                                          May be this way

                                              QString text1 = ui->pushbutton1->text();
                                              QDomText t = doc.createTextNode(text1);
                                              tag.appendChild(t);

                                          --Alles ist gut.

                                          sankarapandiyanS 1 Reply Last reply
                                          3

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved