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.1k 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.
  • A Offline
    A Offline
    Anima
    wrote on last edited by
    #5

    The stack trace.

    1.png

    2.png

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