Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to pass String Value in decimal to QlineEdit?
Qt 6.12 LTS is out! See what's new in the release blog

How to pass String Value in decimal to QlineEdit?

Scheduled Pinned Locked Moved Unsolved General and Desktop
33 Posts 6 Posters 11.3k 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 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 Offline
                J.HilkJ Offline
                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 Offline
                    J.HilkJ Offline
                    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 Offline
                        J.HilkJ Offline
                        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 Offline
                              J.HilkJ Offline
                              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
                                      • Unsolved