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.
  • JonBJ JonB

    @jsulm
    I think you need to clean your reading glasses and try again... ;-)

    The OP is using that string as argument to QProcess::start(), not as the string to parse!

    @Wasee

    QProcess Temp_reading;
    std:: string ct_value=Temp_reading.start("sudo devmem2 0x80000000");
    QString str (QString::fromStdString(ct_value));
    

    void QProcess::start() does not return any value, so this won't compile, will it....

    Can you just slow down a bit. What are you actually trying to do? I can only guess you have in mind:

    Temp_reading.start("sudo devmem2 0x80000000");
    Temp_reading.waitForFinished();
    QString output(Temp_reading.readAllStandardOutput());
    bool ok;
    int num = output.toInt(&ok, 0);
    

    Actually I see you had this earlier. All you needed to do was do the QString::toInt() on what you got back followed by QString::number() to put it into the line edit. And if that is delivering the right answer have a look at the output from the command which you are trying to parse.

    P.S.
    You originally said the number you need to parse is (like) 0x1. I showed you the above code with output.toInt(&ok, 0); is how to do that. If you are using QString::toDouble() as you show that will not work, as it cannot parse a leading 0x.

    WaseeW Offline
    WaseeW Offline
    Wasee
    wrote on last edited by
    #12

    @JonB Hi;
    How I can resolve problem i didn't understand.Please write piece of code.
    thanks

    jsulmJ 1 Reply Last reply
    0
    • WaseeW Wasee

      @JonB Hi;
      How I can resolve problem i didn't understand.Please write piece of code.
      thanks

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

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

      .Please write piece of code

      He already did.
      What is not clear?

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

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

        ui->lineedit->setText(num);

        jsulmJ 1 Reply Last reply
        0
        • 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 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

                                          • Login

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