Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. Qt 6
  4. how to execute a QCombobox Pyqt6 cursor output method
Forum Updated to NodeBB v4.3 + New Features

how to execute a QCombobox Pyqt6 cursor output method

Scheduled Pinned Locked Moved Unsolved Qt 6
lost cursorqcomboboxpyqt6
16 Posts 4 Posters 2.6k Views 2 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.
  • J Jbone73

    Hello everybody,

    I'm sorry for my delay, I tested jsulm's post and followed the instructions. It works but I have a little presentation problem. The combobox cursor does not delete itself and I end up with another cursor on the other fields.

    My code :

    class MainWindow(QMainWindow):
        def __init__(self):
            super().__init__()
            
            frame = QtWidgets.QFrame(self)
            qc == ComboBox(frame)
            qc.focusOutEvent()
    
    class ComboBox(QComboBox):
    
        def focusOutEvent(self, event=QFocusEvent):
            pass
    

    Do you have any idea about this problem?

    Thank you in advance.

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

    @Jbone73 said in how to execute a QCombobox Pyqt6 cursor output method:

    Do you have any idea about this problem?

    Yes, you should also call the base class focusOutEvent in your focusOutEvent implementation.

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

    J 1 Reply Last reply
    1
    • jsulmJ jsulm

      @Jbone73 said in how to execute a QCombobox Pyqt6 cursor output method:

      Do you have any idea about this problem?

      Yes, you should also call the base class focusOutEvent in your focusOutEvent implementation.

      J Offline
      J Offline
      Jbone73
      wrote on last edited by
      #7

      @jsulm

      Agreed ! Thank you ! I'm new to Qt and Python, I must admit I had a hard time understanding what you're asking to do.

      Do I have to call the QFocusEvent class in the QCombobox class?

      I'm sorry to ask so many questions but this is really new to me.

      Thank you in advance.

      jsulmJ 1 Reply Last reply
      0
      • J Jbone73

        @jsulm

        Agreed ! Thank you ! I'm new to Qt and Python, I must admit I had a hard time understanding what you're asking to do.

        Do I have to call the QFocusEvent class in the QCombobox class?

        I'm sorry to ask so many questions but this is really new to me.

        Thank you in advance.

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

        @Jbone73

        class ComboBox(QComboBox):
            def focusOutEvent(self, event=QFocusEvent):
                super().focusOutEvent(event)
        

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

        J 1 Reply Last reply
        0
        • jsulmJ jsulm

          @Jbone73

          class ComboBox(QComboBox):
              def focusOutEvent(self, event=QFocusEvent):
                  super().focusOutEvent(event)
          
          J Offline
          J Offline
          Jbone73
          wrote on last edited by
          #9

          @jsulm
          Thank you (sorry! I keep telling you but help is always useful, especially when you're just starting out), so I tried but I have a problem with the focusOutEvent method, which I can't seem to figure out the meaning of or event = QFocusEvent.

          The error is:
          TypeError: focusOutEvent(self, QFocusEvent): argument 1 has unexpected type 'PyQt6.sip.wrappertype'

          Thank you for everything and if you don't mind and if it's not too long, would you be able to explain to me? I admit that I swim a little.

          jsulmJ 1 Reply Last reply
          0
          • J Jbone73

            @jsulm
            Thank you (sorry! I keep telling you but help is always useful, especially when you're just starting out), so I tried but I have a problem with the focusOutEvent method, which I can't seem to figure out the meaning of or event = QFocusEvent.

            The error is:
            TypeError: focusOutEvent(self, QFocusEvent): argument 1 has unexpected type 'PyQt6.sip.wrappertype'

            Thank you for everything and if you don't mind and if it's not too long, would you be able to explain to me? I admit that I swim a little.

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

            @Jbone73 Please show the code causing this error

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

            J 1 Reply Last reply
            0
            • jsulmJ jsulm

              @Jbone73 Please show the code causing this error

              J Offline
              J Offline
              Jbone73
              wrote on last edited by
              #11

              @jsulm
              This is the one you shared with me, I note it below:

              class ComboBox(QComboBox):
                  def focusOutEvent(self, event=QFocusEvent):
                      super().focusOutEvent(event)
              
              JonBJ SGaistS 2 Replies Last reply
              0
              • J Jbone73

                @jsulm
                This is the one you shared with me, I note it below:

                class ComboBox(QComboBox):
                    def focusOutEvent(self, event=QFocusEvent):
                        super().focusOutEvent(event)
                
                JonBJ Offline
                JonBJ Offline
                JonB
                wrote on last edited by
                #12

                @Jbone73
                Only a guess, depends what you have imported how, QFocusEvent might not be defined, you might need QtGui.QFocusEvent.

                J 1 Reply Last reply
                0
                • JonBJ JonB

                  @Jbone73
                  Only a guess, depends what you have imported how, QFocusEvent might not be defined, you might need QtGui.QFocusEvent.

                  J Offline
                  J Offline
                  Jbone73
                  wrote on last edited by
                  #13

                  @JonB

                  Hello JonB, thank you for your answer.

                  I just looked and QFocusEvent is present in QtGui.

                  I don't see why he is marking this message for me.

                  from PyQt6.QtGui import QIcon, QPixmap, QIntValidator, QFocusEvent
                  
                  1 Reply Last reply
                  0
                  • J Jbone73

                    @jsulm
                    This is the one you shared with me, I note it below:

                    class ComboBox(QComboBox):
                        def focusOutEvent(self, event=QFocusEvent):
                            super().focusOutEvent(event)
                    
                    SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #14

                    Hi,

                    @Jbone73 said in how to execute a QCombobox Pyqt6 cursor output method:

                    @jsulm
                    This is the one you shared with me, I note it below:

                    class ComboBox(QComboBox):
                        def focusOutEvent(self, event=QFocusEvent):
                            super().focusOutEvent(event)
                    

                    What about ?

                    class ComboBox(QComboBox):
                         def focusOutEvent(self, event):
                             super().focusOutEvent(event)
                    

                    If you want type hints:

                    class ComboBox(QComboBox):
                         def focusOutEvent(self, event: QFocusEvent) -> None:
                             super().focusOutEvent(event)
                    

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

                    J 1 Reply Last reply
                    0
                    • SGaistS SGaist

                      Hi,

                      @Jbone73 said in how to execute a QCombobox Pyqt6 cursor output method:

                      @jsulm
                      This is the one you shared with me, I note it below:

                      class ComboBox(QComboBox):
                          def focusOutEvent(self, event=QFocusEvent):
                              super().focusOutEvent(event)
                      

                      What about ?

                      class ComboBox(QComboBox):
                           def focusOutEvent(self, event):
                               super().focusOutEvent(event)
                      

                      If you want type hints:

                      class ComboBox(QComboBox):
                           def focusOutEvent(self, event: QFocusEvent) -> None:
                               super().focusOutEvent(event)
                      
                      J Offline
                      J Offline
                      Jbone73
                      wrote on last edited by
                      #15

                      @SGaist
                      Hello !
                      I don't understand ??

                      If I use your code :

                      class ComboBox(QComboBox):
                           def focusOutEvent(self, event: QFocusEvent) -> None:
                               super().focusOutEvent(event)
                      

                      Or

                      class ComboBox(QComboBox):
                           def focusOutEvent(self, event):
                               super().focusOutEvent(event)
                      

                      I have messages of errors and it does not work, on the other hand, if I put:

                      class ComboBox(QComboBox):
                      
                          def focusOutEvent(self, event=QFocusEvent):
                              print('ok')
                      

                      I do not have problem anymore, it works but not correctly.
                      The cursor of the combobox remains active when it takes the focus and I meet with another focus on other Widgets.

                      I do not understand why this does not work correctly???

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

                        Can you provide a minimal complete script to reproduce this behaviour ?

                        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