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. VirtualKeyboard, Program crash when input out of range char to a QLineEdit with validator
Forum Updated to NodeBB v4.3 + New Features

VirtualKeyboard, Program crash when input out of range char to a QLineEdit with validator

Scheduled Pinned Locked Moved Unsolved General and Desktop
15 Posts 3 Posters 1.2k Views 1 Watching
  • 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.
  • SGaistS SGaist

    Hi and welcome to devnet,

    Can you show the stack trace of your crash ?
    Do you have the same issue if you use a QRegularExpressionValidator ?

    A Offline
    A Offline
    Anima
    wrote on last edited by Anima
    #6

    @SGaist
    Do you have any suggestion? Thank you.

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by SGaist
      #7

      What if you use the following:

      MyDialog::MyDialog(QWidget *parent):
          QDialog(parent)
      {
           m_pEdit = new QLineEdit(this);
           m_pEdit->setValidator(new QRegularExpressionValidator(QRegExp(u8"^([0-9]|[1-9][0-9]{1,2})")));
      }
       
      MyDialog::~MyDialog()
      {
      }
      

      ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      A 1 Reply Last reply
      0
      • Z Offline
        Z Offline
        zhangqinagqiag
        wrote on last edited by
        #8

        This problem also exists in 5.15.2,As long as it is a pop-up window and uses both virtual keyboard and physical keyboard, it will crash

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #9

          Which compiler are you using ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • SGaistS SGaist

            What if you use the following:

            MyDialog::MyDialog(QWidget *parent):
                QDialog(parent)
            {
                 m_pEdit = new QLineEdit(this);
                 m_pEdit->setValidator(new QRegularExpressionValidator(QRegExp(u8"^([0-9]|[1-9][0-9]{1,2})")));
            }
             
            MyDialog::~MyDialog()
            {
            }
            

            ?

            A Offline
            A Offline
            Anima
            wrote on last edited by Anima
            #10

            @SGaist
            Thanks.
            The issue still exists after set the parent of MyDialog.
            The compiler I'm using is Microsoft Visual C++ compiler 14.0.
            I also tried MinGW 8.1.0 on Windows 10, got the same issue.

            But on Ubuntu 18.04, the same program, built by Qt5.12.10 and g++, works fine. I think it may be a platfrom specific bug.

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #11

              Might be indeed.

              One last test, what happens if you use open in place of exec ?

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              A 1 Reply Last reply
              0
              • SGaistS SGaist

                Might be indeed.

                One last test, what happens if you use open in place of exec ?

                A Offline
                A Offline
                Anima
                wrote on last edited by
                #12

                @SGaist
                I modified the program as below, and still got the same result. Program crashed after I tapped illegal keys with physical keyboard.

                void QtGuiApplication1::onBtnClicked()
                {
                    MyDialog* dlg = new MyDialog(this);
                    dlg->open();
                }
                
                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #13

                  Then I would say a bug report is the next step.

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    Anima
                    wrote on last edited by
                    #14

                    The issue is a known bug QTBUG-9304.
                    Unfortunately, it will not be fixed for Qt5.12.

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #15

                      From the looks of the patch, you should be able to port it to 5.12 and build the module yourself with it.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      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