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.
  • 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
                  • sankarapandiyanS sankarapandiyan

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

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

                    @sankarapandiyan

                    May be this

                    void MainWindow::on_okbutn_clicked()
                    {
                        QDomDocument document;
                    
                        QDomElement root = document.createElement("pushbuttn_text");
                        document.appendChild(root);
                    
                        QDomElement elemTab1  = document.createElement("ss");
                        root.appendChild(elemTab1 );
                    
                        QString text1 = ui->pushbutton1->text();
                        QDomText t = document.createTextNode(text1);
                        elemTab1 .appendChild(t);
                    
                        QFile file("C:\\Users\\name\\Desktop\\test.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";
                        }
                    }

                    --Alles ist gut.

                    sankarapandiyanS 1 Reply Last reply
                    1
                    • RatzzR Ratzz

                      @sankarapandiyan

                      May be this

                      void MainWindow::on_okbutn_clicked()
                      {
                          QDomDocument document;
                      
                          QDomElement root = document.createElement("pushbuttn_text");
                          document.appendChild(root);
                      
                          QDomElement elemTab1  = document.createElement("ss");
                          root.appendChild(elemTab1 );
                      
                          QString text1 = ui->pushbutton1->text();
                          QDomText t = document.createTextNode(text1);
                          elemTab1 .appendChild(t);
                      
                          QFile file("C:\\Users\\name\\Desktop\\test.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";
                          }
                      }
                      sankarapandiyanS Offline
                      sankarapandiyanS Offline
                      sankarapandiyan
                      wrote on last edited by sankarapandiyan
                      #23

                      @Ratzz yes it works but its repeat for three times i dont know why ! :-(
                      but anyway thanks all for helping me

                      RatzzR 1 Reply Last reply
                      0
                      • VRoninV Offline
                        VRoninV Offline
                        VRonin
                        wrote on last edited by VRonin
                        #24

                        For people passing by, using the entire xml module for operations like these is like using a bazooka to kill a fly.
                        QXmlStreamWriter is more than enough and it's also probably easier to use

                        "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                        ~Napoleon Bonaparte

                        On a crusade to banish setIndexWidget() from the holy land of Qt

                        1 Reply Last reply
                        5
                        • sankarapandiyanS Offline
                          sankarapandiyanS Offline
                          sankarapandiyan
                          wrote on last edited by
                          #25

                          @VRonin yeah! i know i will try surely

                          1 Reply Last reply
                          0
                          • sankarapandiyanS sankarapandiyan

                            @Ratzz yes it works but its repeat for three times i dont know why ! :-(
                            but anyway thanks all for helping me

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

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

                            but its repeat for three times i dont know why ! :-(

                            Can I see your code??

                            --Alles ist gut.

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

                              @Ratzz <pushbuttn_text>
                              <Scanmode tab1="DEFAULT"/>
                              <ss 3D_WIDE="">3D_WIDE</ss>
                              </pushbuttn_text>
                              <pushbuttn_text>
                              <Scanmode tab2="MACULA"/>
                              <ss 3D_WIDE="">3D_WIDE</ss>
                              </pushbuttn_text>
                              <pushbuttn_text>
                              <Scanmode tab3="GLAUCOMA"/>
                              <ss 3D_WIDE="">3D_WIDE</ss>
                              </pushbuttn_text>

                              RatzzR 1 Reply Last reply
                              0
                              • sankarapandiyanS sankarapandiyan

                                @Ratzz <pushbuttn_text>
                                <Scanmode tab1="DEFAULT"/>
                                <ss 3D_WIDE="">3D_WIDE</ss>
                                </pushbuttn_text>
                                <pushbuttn_text>
                                <Scanmode tab2="MACULA"/>
                                <ss 3D_WIDE="">3D_WIDE</ss>
                                </pushbuttn_text>
                                <pushbuttn_text>
                                <Scanmode tab3="GLAUCOMA"/>
                                <ss 3D_WIDE="">3D_WIDE</ss>
                                </pushbuttn_text>

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

                                @sankarapandiyan
                                Its the output.
                                You may have pressed button 3 times?
                                Can you show me CODE?

                                --Alles ist gut.

                                1 Reply Last reply
                                1
                                • sankarapandiyanS Offline
                                  sankarapandiyanS Offline
                                  sankarapandiyan
                                  wrote on last edited by VRonin
                                  #29

                                  @Ratzz

                                         {                          
                                              QDomDocument document;
                                               QDomElement root = document.createElement("OCT_TOUCH");
                                                document.appendChild(root);
                                                qDebug() <<ui->wide3ddefltbtn->text ();
                                  
                                                     for (int var = 0; var < ui->mwtabwidget->count(); ++var) {
                                                     qDebug() << ui->mwtabwidget->tabText(var);
                                  
                                                   QString text = ui->mwtabwidget->tabText(var);
                                                   QDomElement elemTab = document.createElement("Scanmode") ;
                                                    elemTab.setAttribute("tab"+QString::number(var+1), text);
                                          
                                          
                                          QDomElement root = document.createElement("pushbuttn_text");
                                              document.appendChild(root);
                                              QDomElement elemTab1  = document.createElement("ss");
                                              root.appendChild(elemTab1 );
                                  
                                              QString text1 = ui->wide3ddefltbtn->text();
                                              QDomText t = document.createTextNode(text1);
                                              elemTab1 .appendChild(t);
                                              root.appendChild(elemTab);
                                   }
                                  
                                        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";
                                        }
                                  
                                  jsulmJ 1 Reply Last reply
                                  0
                                  • sankarapandiyanS sankarapandiyan

                                    @Ratzz

                                           {                          
                                                QDomDocument document;
                                                 QDomElement root = document.createElement("OCT_TOUCH");
                                                  document.appendChild(root);
                                                  qDebug() <<ui->wide3ddefltbtn->text ();
                                    
                                                       for (int var = 0; var < ui->mwtabwidget->count(); ++var) {
                                                       qDebug() << ui->mwtabwidget->tabText(var);
                                    
                                                     QString text = ui->mwtabwidget->tabText(var);
                                                     QDomElement elemTab = document.createElement("Scanmode") ;
                                                      elemTab.setAttribute("tab"+QString::number(var+1), text);
                                            
                                            
                                            QDomElement root = document.createElement("pushbuttn_text");
                                                document.appendChild(root);
                                                QDomElement elemTab1  = document.createElement("ss");
                                                root.appendChild(elemTab1 );
                                    
                                                QString text1 = ui->wide3ddefltbtn->text();
                                                QDomText t = document.createTextNode(text1);
                                                elemTab1 .appendChild(t);
                                                root.appendChild(elemTab);
                                     }
                                    
                                          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";
                                          }
                                    
                                    jsulmJ Offline
                                    jsulmJ Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #30

                                    @sankarapandiyan Can you post the WHOLE code of that method?
                                    What is before

                                    {                          
                                                QDomDocument document;
                                    

                                    ?
                                    Do you have a loop there?

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

                                    RatzzR 1 Reply Last reply
                                    1
                                    • sankarapandiyanS Offline
                                      sankarapandiyanS Offline
                                      sankarapandiyan
                                      wrote on last edited by
                                      #31

                                      @jsulm no no there is no loop

                                      jsulmJ 1 Reply Last reply
                                      0
                                      • sankarapandiyanS sankarapandiyan

                                        @jsulm no no there is no loop

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

                                        @sankarapandiyan Actually there is:

                                        for (int var = 0; var < ui->mwtabwidget->count(); ++var) {
                                            qDebug() << ui->mwtabwidget->tabText(var);
                                            QString text = ui->mwtabwidget->tabText(var);
                                            QDomElement elemTab = document.createElement("Scanmode") ;
                                            elemTab.setAttribute("tab"+QString::number(var+1), text);
                                                   
                                            QDomElement root = document.createElement("pushbuttn_text");
                                        

                                        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
                                          #33

                                          @jsulm but that is for reading the tabwidget of tabs only i think !!!!!!

                                          jsulmJ 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