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.7k 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 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
                                        • RatzzR Ratzz

                                          @sankarapandiyan

                                          May be this way

                                              QString text1 = ui->pushbutton1->text();
                                              QDomText t = doc.createTextNode(text1);
                                              tag.appendChild(t);
                                          sankarapandiyanS Offline
                                          sankarapandiyanS Offline
                                          sankarapandiyan
                                          wrote on last edited by
                                          #21

                                          @Ratzz i think it will work i will try thanks a lot

                                          RatzzR 1 Reply Last reply
                                          0

                                          • Login

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