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 pass String Value in decimal to QlineEdit?
Forum Updated to NodeBB v4.3 + New Features

How to pass String Value in decimal to QlineEdit?

Scheduled Pinned Locked Moved Unsolved General and Desktop
33 Posts 6 Posters 5.0k 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.
  • WaseeW Wasee

    @jsulm ;
    Thanks!
    But I am getting error of invalid conversion from int to const string for lineedit.

    ui->lineedit->setText(num);

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

    @Wasee Do you understand that setText expects a string, not int?

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

    1 Reply Last reply
    3
    • WaseeW Offline
      WaseeW Offline
      Wasee
      wrote on last edited by
      #16

      Hi; everyone;
      I am unable to fix my problem. Please provide exact information to do that.

      jsulmJ 1 Reply Last reply
      0
      • WaseeW Wasee

        Hi; everyone;
        I am unable to fix my problem. Please provide exact information to do that.

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

        @Wasee said in How to pass String Value in decimal to QlineEdit?:

        Please provide exact information to do that

        I will do once more your work, but last time now. I will not spend more of my time if you refuse to learn basics.
        Go to https://doc.qt.io/qt-5/qlineedit.html#text-prop and check what the type is.
        Type is QString.
        C++ most basic knowledge: QString != int.
        So, you can't pass an int as parameter to QLineEdit::setText, because setText() expects a QString.
        I really fail to understand what is not clear about it?!
        Maybe you should read a C++ book?

        Temp_reading.start("sudo devmem2 0x80000000");
        Temp_reading.waitForFinished();
        QString output(Temp_reading.readAllStandardOutput());
        ui->lineedit->setText(output);
        

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

        1 Reply Last reply
        1
        • WaseeW Offline
          WaseeW Offline
          Wasee
          wrote on last edited by
          #18

          @jsulm Hi;
          Its giving me Values continuous but I need to print these values after 0x in integer form in line-edit.
          (0xb6f44000):0x11EACAC
          (0xb6efe00):0x11EACAC
          (0xb6fd4000):0x11EACAC
          (0xb6fde000):0x11EACAC

          jsulmJ 1 Reply Last reply
          0
          • WaseeW Wasee

            @jsulm Hi;
            Its giving me Values continuous but I need to print these values after 0x in integer form in line-edit.
            (0xb6f44000):0x11EACAC
            (0xb6efe00):0x11EACAC
            (0xb6fd4000):0x11EACAC
            (0xb6fde000):0x11EACAC

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

            @Wasee What's wrong with https://doc.qt.io/qt-5/qstring.html#number-1?

            d = Qstring(list).toInt(&ok, 16); // Since you handle hex numbers you need to tell toInt that it is a hex number - so pass 16 as base
            ui->lineedit->setText(QString::number(d));
            

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

            1 Reply Last reply
            1
            • WaseeW Offline
              WaseeW Offline
              Wasee
              wrote on last edited by
              #20

              @jsulm Hi;
              Its giving me value 0 in my lineedit.

              jsulmJ 1 Reply Last reply
              0
              • WaseeW Wasee

                @jsulm Hi;
                Its giving me value 0 in my lineedit.

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

                @Wasee That means that the conversion from string to int failed. I'm now out of this thread. Debug your code to see what happens and fix the issues...

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

                1 Reply Last reply
                0
                • J.HilkJ Online
                  J.HilkJ Online
                  J.Hilk
                  Moderators
                  wrote on last edited by
                  #22
                  Temp_reading.start("sudo devmem2 0x80000000");
                  Temp_reading.waitForFinished();
                  QString output(Temp_reading.readAllStandardOutput());
                  output = output.replace("(", "").replace(")", "").replace(":", "");
                  auto split = output.split("0x");
                  QString str("%1:%2");
                  str= str.arg(split.at(1).toLongLong(nullptr, 16)).arg(split.at(2).toLongLong(nullptr, 16));
                  ui->lineedit->setText(str);
                  

                  alt text


                  Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                  Q: What's that?
                  A: It's blue light.
                  Q: What does it do?
                  A: It turns blue.

                  1 Reply Last reply
                  2
                  • WaseeW Offline
                    WaseeW Offline
                    Wasee
                    wrote on last edited by
                    #23

                    @J-Hilk Hi;
                    I am still getting error "split does not name a type" and "split is not declare in this scope" and "nullptr was not declared in this scope"
                    thanks

                    J.HilkJ 1 Reply Last reply
                    0
                    • WaseeW Wasee

                      @J-Hilk Hi;
                      I am still getting error "split does not name a type" and "split is not declare in this scope" and "nullptr was not declared in this scope"
                      thanks

                      J.HilkJ Online
                      J.HilkJ Online
                      J.Hilk
                      Moderators
                      wrote on last edited by
                      #24

                      @Wasee said in How to pass String Value in decimal to QlineEdit?:

                      "nullptr was not declared in this scope"

                      impossible if you're using c++11 or later !

                      split does not name a type

                      either you forgot auto or you're really not using c++11. Split it is of type QStringList


                      Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                      Q: What's that?
                      A: It's blue light.
                      Q: What does it do?
                      A: It turns blue.

                      1 Reply Last reply
                      0
                      • WaseeW Offline
                        WaseeW Offline
                        Wasee
                        wrote on last edited by
                        #25

                        @J-Hilk Hi;
                        how I can solve this issue?

                        J.HilkJ 1 Reply Last reply
                        0
                        • WaseeW Wasee

                          @J-Hilk Hi;
                          how I can solve this issue?

                          J.HilkJ Online
                          J.HilkJ Online
                          J.Hilk
                          Moderators
                          wrote on last edited by
                          #26

                          @Wasee add c++11 to your compiler call


                          Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                          Q: What's that?
                          A: It's blue light.
                          Q: What does it do?
                          A: It turns blue.

                          1 Reply Last reply
                          0
                          • WaseeW Offline
                            WaseeW Offline
                            Wasee
                            wrote on last edited by
                            #27

                            @J-Hilk Hi;
                            Problem solved but I need little bit change its giving me value 0:108280000, I didn't need 0: in this value how I can remove it.

                            jsulmJ J.HilkJ 2 Replies Last reply
                            0
                            • WaseeW Wasee

                              @J-Hilk Hi;
                              Problem solved but I need little bit change its giving me value 0:108280000, I didn't need 0: in this value how I can remove it.

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

                              @Wasee said in How to pass String Value in decimal to QlineEdit?:

                              how I can remove it

                              How about doing what you already did in this thread: use split() method and ':' as split character.

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

                              1 Reply Last reply
                              0
                              • WaseeW Wasee

                                @J-Hilk Hi;
                                Problem solved but I need little bit change its giving me value 0:108280000, I didn't need 0: in this value how I can remove it.

                                J.HilkJ Online
                                J.HilkJ Online
                                J.Hilk
                                Moderators
                                wrote on last edited by J.Hilk
                                #29

                                @Wasee
                                the magic happens here

                                QString str("%1:%2");
                                str= str.arg(split.at(1).toLongLong(nullptr, 16)).arg(split.at(2).toLongLong(nullptr, 16));
                                

                                do you see, what is happening?

                                assuming your result from the external process is of the format
                                (0xb6f44000):0x11EACAC

                                like you wrote earlier.
                                than splitwill contain

                                output = output.replace("(", "").replace(")", "").replace(":", "");
                                auto split = output.split("0x");
                                // index 0 = ""
                                //index 1 = "b6f44000"
                                //index 2 = "11EACAC"
                                

                                so depending on what value you want, you want index 1 or 2 therefore

                                ui->lineedit->setText(QString::number(split.at(index1or2),16);
                                

                                Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                                Q: What's that?
                                A: It's blue light.
                                Q: What does it do?
                                A: It turns blue.

                                1 Reply Last reply
                                2
                                • WaseeW Offline
                                  WaseeW Offline
                                  Wasee
                                  wrote on last edited by
                                  #30

                                  @J-Hilk Hi;
                                  Its giving me index1or2 declaration error here.
                                  thanks

                                  jsulmJ 1 Reply Last reply
                                  0
                                  • WaseeW Wasee

                                    @J-Hilk Hi;
                                    Its giving me index1or2 declaration error here.
                                    thanks

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

                                    @Wasee said in How to pass String Value in decimal to QlineEdit?:

                                    index1or2

                                    Come on - this is just a placeholder. You need to replace it with either index1 or index2...

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

                                    1 Reply Last reply
                                    2
                                    • WaseeW Offline
                                      WaseeW Offline
                                      Wasee
                                      wrote on last edited by
                                      #32

                                      @jsulm Hi;
                                      When I placed this code:
                                      /@
                                      ui->lineedit->setText(QString::number(split.at(index1or2),16);
                                      @/

                                      Its giving me error again of invalid conversion.
                                      Simply tell me how I can convert it into integer of following external value.
                                      /@jsulm
                                      Temp_reading.start("sudo devmem2 0x80000000");
                                      Temp_reading.waitForFinished();
                                      QString output(Temp_reading.readAllStandardOutput());
                                      output = output.replace("(", "").replace(")", "").replace(":", "");
                                      auto split = output.split("0x");
                                      QString str("%1:%2");
                                      str= str.arg(split.at(1).toLongLong(nullptr, 16)).arg(split.at(2).toLongLong(nullptr, 16));

                                      @/
                                      just convert it into integer value.

                                      jsulmJ 1 Reply Last reply
                                      0
                                      • WaseeW Wasee

                                        @jsulm Hi;
                                        When I placed this code:
                                        /@
                                        ui->lineedit->setText(QString::number(split.at(index1or2),16);
                                        @/

                                        Its giving me error again of invalid conversion.
                                        Simply tell me how I can convert it into integer of following external value.
                                        /@jsulm
                                        Temp_reading.start("sudo devmem2 0x80000000");
                                        Temp_reading.waitForFinished();
                                        QString output(Temp_reading.readAllStandardOutput());
                                        output = output.replace("(", "").replace(")", "").replace(":", "");
                                        auto split = output.split("0x");
                                        QString str("%1:%2");
                                        str= str.arg(split.at(1).toLongLong(nullptr, 16)).arg(split.at(2).toLongLong(nullptr, 16));

                                        @/
                                        just convert it into integer value.

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

                                        @Wasee said in How to pass String Value in decimal to QlineEdit?:

                                        Simply tell me how I can convert it into integer of following external value

                                        You already was told how and @J-Hilk even gave you code.
                                        If it does not work then please be so kind and analyse what happens. This is what a developer should do in such a situation.
                                        What does split.at(index1) or split.at(index2) return? Does it return a string containing a valid hex number?

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

                                        1 Reply Last reply
                                        2

                                        • Login

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