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. When modal window on top of mainwidget, i can still interact with mainwidger
Forum Updated to NodeBB v4.3 + New Features

When modal window on top of mainwidget, i can still interact with mainwidger

Scheduled Pinned Locked Moved Unsolved General and Desktop
20 Posts 3 Posters 1.1k 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.
  • jsulmJ jsulm

    @masa4 Does your virtual keyboard work with modal dialogs (QDialog::exec())?

    M Offline
    M Offline
    masa4
    wrote on last edited by
    #5

    @jsulm I dont know, all of my ui classes(including keyboard class) inherits QWidget. And I am opening modals&keyboard with show() function.

    jsulmJ 1 Reply Last reply
    0
    • M masa4

      @jsulm I dont know, all of my ui classes(including keyboard class) inherits QWidget. And I am opening modals&keyboard with show() function.

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

      @masa4 said in When modal window on top of mainwidget, i can still interact with mainwidger:

      I dont know

      You can try...

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      M 1 Reply Last reply
      0
      • jsulmJ jsulm

        @masa4 said in When modal window on top of mainwidget, i can still interact with mainwidger:

        I dont know

        You can try...

        M Offline
        M Offline
        masa4
        wrote on last edited by
        #7

        @jsulm You saying me, create a new ui class which inherits from QDialog and add a textbox to it, call it with exec() in a function call, , and try if keyboard will be clickable on it, am i right? Please confirm so i will try it.

        jsulmJ 1 Reply Last reply
        0
        • M masa4

          @jsulm You saying me, create a new ui class which inherits from QDialog and add a textbox to it, call it with exec() in a function call, , and try if keyboard will be clickable on it, am i right? Please confirm so i will try it.

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

          @masa4 There is no need to inherit enything. You can simply show https://doc.qt.io/qt-6/qinputdialog.html and check whether you can enter text using virtual keyboard...

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          M 1 Reply Last reply
          0
          • jsulmJ jsulm

            @masa4 There is no need to inherit enything. You can simply show https://doc.qt.io/qt-6/qinputdialog.html and check whether you can enter text using virtual keyboard...

            M Offline
            M Offline
            masa4
            wrote on last edited by
            #9

            @jsulm I tried but couldnt do it. I have eventfilter on my class for detecting lineedits etc focuses. So i can show my keyboard modal. I tried installing event filter to QInputDialog object and handling keyboard opening in eventfilter method but program crashes.

            JonBJ 1 Reply Last reply
            0
            • M masa4

              @jsulm I tried but couldnt do it. I have eventfilter on my class for detecting lineedits etc focuses. So i can show my keyboard modal. I tried installing event filter to QInputDialog object and handling keyboard opening in eventfilter method but program crashes.

              JonBJ Online
              JonBJ Online
              JonB
              wrote on last edited by
              #10

              @masa4
              So you have sundry extra code of your own, which may or may not affect. Since @jsulm asked you test with just a QInputDialog exec()ed modally why don't you do so in a standalone program?

              M 1 Reply Last reply
              0
              • JonBJ JonB

                @masa4
                So you have sundry extra code of your own, which may or may not affect. Since @jsulm asked you test with just a QInputDialog exec()ed modally why don't you do so in a standalone program?

                M Offline
                M Offline
                masa4
                wrote on last edited by masa4
                #11

                @JonB But the main problem is right now; if i set Qt::ApplicationModal on my modals, it prevent interacting with mainwidget, which is good. But when i click the textedits on modal, my virtual keyboard show up as modal but i cant interact with keyboard.
                If I dont set Qt::ApplicationModal, I can interact with keyboard but at the same time i can interact with mainwidget which is bad. My modal still beeing on top but i can click mainwidget buttons etc.
                I tested QInputDialog, and it works well in normal situation. But I couldnt test it with keyboard since it requires additional steps/when i directly tried adding it to my event list, program crashes. I am not sure what was the problem

                jsulmJ JonBJ 2 Replies Last reply
                0
                • M masa4

                  @JonB But the main problem is right now; if i set Qt::ApplicationModal on my modals, it prevent interacting with mainwidget, which is good. But when i click the textedits on modal, my virtual keyboard show up as modal but i cant interact with keyboard.
                  If I dont set Qt::ApplicationModal, I can interact with keyboard but at the same time i can interact with mainwidget which is bad. My modal still beeing on top but i can click mainwidget buttons etc.
                  I tested QInputDialog, and it works well in normal situation. But I couldnt test it with keyboard since it requires additional steps/when i directly tried adding it to my event list, program crashes. I am not sure what was the problem

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

                  @masa4 said in When modal window on top of mainwidget, i can still interact with mainwidger:

                  my virtual keyboard show up

                  Is this a virtual keyboard implemented by you or the one provided by Qt?

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  M 1 Reply Last reply
                  0
                  • jsulmJ jsulm

                    @masa4 said in When modal window on top of mainwidget, i can still interact with mainwidger:

                    my virtual keyboard show up

                    Is this a virtual keyboard implemented by you or the one provided by Qt?

                    M Offline
                    M Offline
                    masa4
                    wrote on last edited by
                    #13

                    @jsulm by me

                    1 Reply Last reply
                    0
                    • M masa4

                      @JonB But the main problem is right now; if i set Qt::ApplicationModal on my modals, it prevent interacting with mainwidget, which is good. But when i click the textedits on modal, my virtual keyboard show up as modal but i cant interact with keyboard.
                      If I dont set Qt::ApplicationModal, I can interact with keyboard but at the same time i can interact with mainwidget which is bad. My modal still beeing on top but i can click mainwidget buttons etc.
                      I tested QInputDialog, and it works well in normal situation. But I couldnt test it with keyboard since it requires additional steps/when i directly tried adding it to my event list, program crashes. I am not sure what was the problem

                      JonBJ Online
                      JonBJ Online
                      JonB
                      wrote on last edited by
                      #14

                      @masa4 said in When modal window on top of mainwidget, i can still interact with mainwidger:

                      I tested QInputDialog, and it works well in normal situation. But I couldnt test it with keyboard since it requires additional steps/when i directly tried adding it to my event list, program crashes. I am not sure what was the problem

                      So maybe you have an issue in your code? Did you run under debugger to see where/why crash is?

                      M 1 Reply Last reply
                      0
                      • JonBJ JonB

                        @masa4 said in When modal window on top of mainwidget, i can still interact with mainwidger:

                        I tested QInputDialog, and it works well in normal situation. But I couldnt test it with keyboard since it requires additional steps/when i directly tried adding it to my event list, program crashes. I am not sure what was the problem

                        So maybe you have an issue in your code? Did you run under debugger to see where/why crash is?

                        M Offline
                        M Offline
                        masa4
                        wrote on last edited by
                        #15

                        @JonB I can try to solve the issue but what we actually try to learn? If I will be able to use my keyboard with QInputDialog, what will be the next thing?

                        jsulmJ 1 Reply Last reply
                        0
                        • M masa4

                          @JonB I can try to solve the issue but what we actually try to learn? If I will be able to use my keyboard with QInputDialog, what will be the next thing?

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

                          @masa4 If it's your own virtual keyboard then you should maybe take a look at Qt virtual keyboard implementation to see how it is implemented.

                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                          M 1 Reply Last reply
                          1
                          • jsulmJ jsulm

                            @masa4 If it's your own virtual keyboard then you should maybe take a look at Qt virtual keyboard implementation to see how it is implemented.

                            M Offline
                            M Offline
                            masa4
                            wrote on last edited by
                            #17

                            @jsulm Its in qml, i dont know it

                            JonBJ 1 Reply Last reply
                            0
                            • M masa4

                              @jsulm Its in qml, i dont know it

                              JonBJ Online
                              JonBJ Online
                              JonB
                              wrote on last edited by
                              #18

                              @masa4 So what sort of answer are you expecting here?

                              M 1 Reply Last reply
                              0
                              • JonBJ JonB

                                @masa4 So what sort of answer are you expecting here?

                                M Offline
                                M Offline
                                masa4
                                wrote on last edited by
                                #19

                                @JonB I didnt understand what you mean. I am asking how can I prevent interaction with mainwidget when modal window is open. But at the same time, I want to be able to interact with virtual keyboard which shows up when i click textedits on modal window.
                                If I add setWindowModality(Qt::ApplicationModal); to my modal window, it prevents interaction with mainwidget buttons. But I cant interact with keyboard also.

                                I want to interact with keyboard and prevent the interaction with mainwidget.

                                JonBJ 1 Reply Last reply
                                0
                                • M masa4

                                  @JonB I didnt understand what you mean. I am asking how can I prevent interaction with mainwidget when modal window is open. But at the same time, I want to be able to interact with virtual keyboard which shows up when i click textedits on modal window.
                                  If I add setWindowModality(Qt::ApplicationModal); to my modal window, it prevents interaction with mainwidget buttons. But I cant interact with keyboard also.

                                  I want to interact with keyboard and prevent the interaction with mainwidget.

                                  JonBJ Online
                                  JonBJ Online
                                  JonB
                                  wrote on last edited by JonB
                                  #20

                                  @masa4
                                  What I am saying is: If the principle works OK with the Qt virtual keyboard but not with your own coded version, your own code crashes, you say earlier

                                  I can try to solve the issue but what we actually try to learn? If I will be able to use my keyboard with QInputDialog, what will be the next thing?

                                  and when @jsulm suggests you "take a look at Qt virtual keyboard implementation to see how it is implemented" you reply "Its in qml, i dont know it". If you take all this I don't know what sort of "answer" you think you are going to get from anyone here, I don't see how they can help. Anyway you can wait and see if anybody offers anything from here.

                                  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