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

    @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 Online
        jsulmJ Online
        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 Online
                                  jsulmJ Online
                                  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 Online
                                      jsulmJ Online
                                      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
                                        • jsulmJ jsulm

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

                                          {                          
                                                      QDomDocument document;
                                          

                                          ?
                                          Do you have a loop there?

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

                                          @sankarapandiyan
                                          You have missed a appendChild to the main root element.

                                          --Alles ist gut.

                                          sankarapandiyanS 1 Reply Last reply
                                          1

                                          • Login

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