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. Custom QWidget Keyboard first time click issue.
QtWS25 Last Chance

Custom QWidget Keyboard first time click issue.

Scheduled Pinned Locked Moved Unsolved General and Desktop
27 Posts 5 Posters 4.8k 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.
  • A Arvind K

    @mrjj

    Yes.
    after that when I click on Anywhere on Widget Nothing happen or no Any event gets called.

    mrjjM Offline
    mrjjM Offline
    mrjj
    Lifetime Qt Champion
    wrote on last edited by
    #21

    @Arvind-K
    so the widget appear frozen for a moment ?
    Do you have any kind of loops in constructor or anything like that ?

    A 1 Reply Last reply
    0
    • mrjjM mrjj

      @Arvind-K
      so the widget appear frozen for a moment ?
      Do you have any kind of loops in constructor or anything like that ?

      A Offline
      A Offline
      Arvind K
      wrote on last edited by
      #22

      @mrjj

      No, there is no Loop in the constructor or No Any other code only I have connected signal to Slot.

      Keyboard::Keyboard(QWidget *parent) :
      QWidget(parent),
      ui(new Ui::Keyboard)
      {
      ui->setupUi(this);

      this->setWindowFlags(Qt::WindowStaysOnTopHint);
      connect ( ui->Buttonq, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonw, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttone, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonr, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttont, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttony, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonu, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttoni, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttono, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonp, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      
      connect ( ui->Buttona, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttons, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttond, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonf, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttong, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonh, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonj, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonk, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonl, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonz, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonx, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonc, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonv, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonb, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonn, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Buttonm, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Button0, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Button1, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Button2, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Button3, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Button4, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Button5, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Button6, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Button7, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Button8, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->Button9, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      connect ( ui->space, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
      
      outputText = "";
      shift = false;
      

      }

      mrjjM 1 Reply Last reply
      0
      • A Arvind K

        @mrjj

        No, there is no Loop in the constructor or No Any other code only I have connected signal to Slot.

        Keyboard::Keyboard(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Keyboard)
        {
        ui->setupUi(this);

        this->setWindowFlags(Qt::WindowStaysOnTopHint);
        connect ( ui->Buttonq, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonw, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttone, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonr, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttont, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttony, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonu, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttoni, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttono, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonp, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        
        connect ( ui->Buttona, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttons, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttond, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonf, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttong, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonh, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonj, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonk, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonl, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonz, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonx, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonc, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonv, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonb, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonn, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Buttonm, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Button0, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Button1, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Button2, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Button3, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Button4, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Button5, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Button6, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Button7, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Button8, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->Button9, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        connect ( ui->space, SIGNAL( clicked() ), this, SLOT( keyboardHandler() ) );
        
        outputText = "";
        shift = false;
        

        }

        mrjjM Offline
        mrjjM Offline
        mrjj
        Lifetime Qt Champion
        wrote on last edited by
        #23

        @Arvind-K
        ok. when this situation is happening.
        Does the buttons show activated effect ?
        I mean can u see u pres them or anything ?

        A 1 Reply Last reply
        0
        • A Offline
          A Offline
          Arvind K
          wrote on last edited by
          #24

          @mrjj

          As I mentioned Previously when I set WindowModality of Keyboard widget to QApplicationModal I face this First Click issue otherwise it works fine. but if I didn't set windowModality then Keyboard goes back to the parent widget.

          **lineEditkeyboard->setWindowModality(Qt::ApplicationModal); **

          mrjjM 1 Reply Last reply
          0
          • A Arvind K

            @mrjj

            As I mentioned Previously when I set WindowModality of Keyboard widget to QApplicationModal I face this First Click issue otherwise it works fine. but if I didn't set windowModality then Keyboard goes back to the parent widget.

            **lineEditkeyboard->setWindowModality(Qt::ApplicationModal); **

            mrjjM Offline
            mrjjM Offline
            mrjj
            Lifetime Qt Champion
            wrote on last edited by
            #25

            Hmm.
            The code looks ok fine and i cant see any reason for
            QApplicationModal to cause this effect but
            it could be a bug in Qt.

            1 Reply Last reply
            0
            • mrjjM mrjj

              @Arvind-K
              ok. when this situation is happening.
              Does the buttons show activated effect ?
              I mean can u see u pres them or anything ?

              A Offline
              A Offline
              Arvind K
              wrote on last edited by
              #26

              @mrjj

              I can't see press button effect for the first time.

              mrjjM 1 Reply Last reply
              0
              • A Arvind K

                @mrjj

                I can't see press button effect for the first time.

                mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by
                #27

                @Arvind-K
                Ok, then it seems its stuck for a moment in the event loop.
                Im not sure what to do about that.
                setWindowModality(Qt::ApplicationModal) must use a local even loop to make
                it modal so might be a but with this or something i dont see in the code.

                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