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. Suggestions for relevant key binding
Qt 6.11 is out! See what's new in the release blog

Suggestions for relevant key binding

Scheduled Pinned Locked Moved Unsolved General and Desktop
20 Posts 3 Posters 1.8k 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.
  • Q Offline
    Q Offline
    Qt Enthusiast
    wrote on last edited by
    #1

    Hi All
    ![alt text](1.PNG image url)

    I have a functionality to implement

    The description of the functionality is

    When we press the tab key the cursor moves from Name ,Description Item1 , item2
    to all the text boxes

    and if we press the key (Which I need decide and which I would like have suggestions on what key we can use ) so that can go from item2 ,to item1 , Description and Name

    i,e to go on each text box in reverse direction .

    COuld some one suggest a appropriate key to go into reverse direction

    jsulmJ 1 Reply Last reply
    0
    • Q Qt Enthusiast

      Hi All
      ![alt text](1.PNG image url)

      I have a functionality to implement

      The description of the functionality is

      When we press the tab key the cursor moves from Name ,Description Item1 , item2
      to all the text boxes

      and if we press the key (Which I need decide and which I would like have suggestions on what key we can use ) so that can go from item2 ,to item1 , Description and Name

      i,e to go on each text box in reverse direction .

      COuld some one suggest a appropriate key to go into reverse direction

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

      @Qt-Enthusiast said in Suggestions for relevant key binding:

      and if we press the key

      This should work out of the box - Shift-Tab

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

      1 Reply Last reply
      0
      • Q Offline
        Q Offline
        Qt Enthusiast
        wrote on last edited by
        #3

        def keyPressEvent(self, event):
        # when the user presses Tab Key
        # then the focus should go to next text box
        if event.key() == QtCore.Qt.Key_Tab :
        self.parent.focusNextTextWidget()
        return

            modifiers = QtGui.QApplication.keyboardModifiers()
            # when the user presses Tab Key
            # then the focus should go to prev text box
            if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_T)):
                self.parent.focusPrevTextWidget()
                return
        
            if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                print("\m I am here") 
                self.parent.focusPrevTextWidget()
                return
        
        1 Reply Last reply
        0
        • Q Offline
          Q Offline
          Qt Enthusiast
          wrote on last edited by
          #4

          I am not able to print ---- > I am here

          1 Reply Last reply
          0
          • Q Offline
            Q Offline
            Qt Enthusiast
            wrote on last edited by
            #5

            Please suggest why

            jsulmJ 1 Reply Last reply
            0
            • Q Offline
              Q Offline
              Qt Enthusiast
              wrote on last edited by
              #6

              When I type Shift + tab is goes from item empty box to item2 label then item1 text box then item1 label

              1 Reply Last reply
              0
              • Q Offline
                Q Offline
                Qt Enthusiast
                wrote on last edited by
                #7

                but my requirement is to

                got back directtly from item2 text box to item1 text box

                1 Reply Last reply
                0
                • Q Qt Enthusiast

                  Please suggest why

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

                  @Qt-Enthusiast There is no need to implement anything for switching focus via TAB/Shift-TAB - this should work without any code. In QtCreator/Designer you can specify the order in which Tab should got through the widgets.

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

                  1 Reply Last reply
                  2
                  • Q Offline
                    Q Offline
                    Qt Enthusiast
                    wrote on last edited by
                    #9

                    My code is in pytqt and I have to go only to selected cells not all

                    1 Reply Last reply
                    0
                    • Q Offline
                      Q Offline
                      Qt Enthusiast
                      wrote on last edited by
                      #10

                      @Qt-Enthusiast said in Suggestions for relevant key binding:

                      modifiers = QtGui.QApplication.keyboardModifiers()
                      # when the user presses Tab Key
                      # then the focus should go to prev text box
                      if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_T)):
                      self.parent.focusPrevTextWidget()
                      return

                      if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                          print("\m I am here") 
                          self.parent.focusPrevTextWidget()
                      

                      Why
                      modifiers = QtGui.QApplication.keyboardModifiers()
                      # when the user presses Tab Key
                      # then the focus should go to prev text box
                      if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_T)):
                      self.parent.focusPrevTextWidget()
                      return

                      if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                          print("\m I am here")  --------------------> I am not getting print here
                          self.parent.focusPrevTextWidget()
                      
                      jsulmJ 1 Reply Last reply
                      0
                      • Q Qt Enthusiast

                        @Qt-Enthusiast said in Suggestions for relevant key binding:

                        modifiers = QtGui.QApplication.keyboardModifiers()
                        # when the user presses Tab Key
                        # then the focus should go to prev text box
                        if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_T)):
                        self.parent.focusPrevTextWidget()
                        return

                        if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                            print("\m I am here") 
                            self.parent.focusPrevTextWidget()
                        

                        Why
                        modifiers = QtGui.QApplication.keyboardModifiers()
                        # when the user presses Tab Key
                        # then the focus should go to prev text box
                        if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_T)):
                        self.parent.focusPrevTextWidget()
                        return

                        if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                            print("\m I am here")  --------------------> I am not getting print here
                            self.parent.focusPrevTextWidget()
                        
                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #11

                        @Qt-Enthusiast I don't know why.
                        But as I wrote before there is NO need to implement Shift-Tab as it should work out of the box.

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

                        1 Reply Last reply
                        1
                        • Q Offline
                          Q Offline
                          Qt Enthusiast
                          wrote on last edited by Qt Enthusiast
                          #12

                          but I have to owerite then what shall I
                          modifiers = QtGui.QApplication.keyboardModifiers()
                          if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                          print("\m I am here") --------------------> I am not getting print here
                          self.parent.focusPrevTextWidget()

                          how do I get print("\m I am here") ---when I press Shift + Key_tab

                          jsulmJ 1 Reply Last reply
                          0
                          • Q Qt Enthusiast

                            but I have to owerite then what shall I
                            modifiers = QtGui.QApplication.keyboardModifiers()
                            if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                            print("\m I am here") --------------------> I am not getting print here
                            self.parent.focusPrevTextWidget()

                            how do I get print("\m I am here") ---when I press Shift + Key_tab

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

                            @Qt-Enthusiast said in Suggestions for relevant key binding:

                            but I have to owerite

                            Can you please explain why you think you have to?
                            If you want to change the order in which Tab/Shift-Tab navigates through widgets you can do it in Designer, or using https://doc.qt.io/qt-5/qwidget.html#setTabOrder in code.

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

                            1 Reply Last reply
                            1
                            • Q Offline
                              Q Offline
                              Qt Enthusiast
                              wrote on last edited by Qt Enthusiast
                              #14

                              I want to skip some of cells for that I have to overwrite

                              jsulmJ 1 Reply Last reply
                              0
                              • Q Qt Enthusiast

                                I want to skip some of cells for that I have to overwrite

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

                                @Qt-Enthusiast So, the ones you want to skip should never get focus? If so just use https://doc.qt.io/qt-5/qwidget.html#focusPolicy-prop
                                You can unset Qt::TabFocus, so it will not get focus via Tab.
                                Or Qt::NoFocus if it should never get focus.

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

                                1 Reply Last reply
                                3
                                • Q Offline
                                  Q Offline
                                  Qt Enthusiast
                                  wrote on last edited by
                                  #16

                                  def setRowSequenceForTabKey(self):
                                  # next row sequence
                                  # when the user press tab key
                                  # code is to get the next sequence
                                  # this is predefined for each className
                                  if self.className == "VerificationObjective":
                                  self.row_sequence = [1,2,3,4,6]
                                  else:
                                  self.row_sequence = [1,2,4]

                                          rowCount = self.table.rowCount()
                                          for i in range(0, rowCount):
                                               
                                              if cellWidget or i in self.row_sequence:
                                                  cellWidget.setFocusPolicy(QtCore.Qt.NoFocus)
                                  

                                  The following code is not working

                                  Could you please suggestion

                                  jsulmJ 1 Reply Last reply
                                  0
                                  • Q Qt Enthusiast

                                    def setRowSequenceForTabKey(self):
                                    # next row sequence
                                    # when the user press tab key
                                    # code is to get the next sequence
                                    # this is predefined for each className
                                    if self.className == "VerificationObjective":
                                    self.row_sequence = [1,2,3,4,6]
                                    else:
                                    self.row_sequence = [1,2,4]

                                            rowCount = self.table.rowCount()
                                            for i in range(0, rowCount):
                                                 
                                                if cellWidget or i in self.row_sequence:
                                                    cellWidget.setFocusPolicy(QtCore.Qt.NoFocus)
                                    

                                    The following code is not working

                                    Could you please suggestion

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

                                    @Qt-Enthusiast What is cellWidget here? You change the same cellWidget in the loop - I don't know how is this supposed to work? You should iterate over the cells and change their focus policy instead. Now you show that you're using a table. That is something you should have said straight from the beginning.

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

                                    Q 1 Reply Last reply
                                    0
                                    • jsulmJ jsulm

                                      @Qt-Enthusiast What is cellWidget here? You change the same cellWidget in the loop - I don't know how is this supposed to work? You should iterate over the cells and change their focus policy instead. Now you show that you're using a table. That is something you should have said straight from the beginning.

                                      Q Offline
                                      Q Offline
                                      Qt Enthusiast
                                      wrote on last edited by
                                      #18

                                      Can we check if the Widget type is QLineEdit ?

                                      1 Reply Last reply
                                      0
                                      • Christian EhrlicherC Online
                                        Christian EhrlicherC Online
                                        Christian Ehrlicher
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #19

                                        @Qt-Enthusiast said in Suggestions for relevant key binding:

                                        Can we check if the Widget type is QLineEdit ?

                                        Yes - but we're a Qt forum, no python for beginners forum. Sorry.

                                        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                                        Visit the Qt Academy at https://academy.qt.io/catalog

                                        1 Reply Last reply
                                        0
                                        • Q Offline
                                          Q Offline
                                          Qt Enthusiast
                                          wrote on last edited by
                                          #20

                                          So I have QtableWidget

                                          as show in pictuure

                                          For Row 0
                                          1 ) The first column of each row is QLablel
                                          2 second colum is Qlinedit

                                          For Row 1 to Row2
                                          1 ) The first column of each row is QLablel
                                          2 second colum is QLabel

                                          For Row 3 to end

                                          1 ) The first column of each row is QLablel
                                          2 second column has QWidget that has QSplitter(Vertical)
                                          First widget of spiltter has QLineEdit
                                          Other widget of splitter has QLabe;

                                          My project is

                                          When the user press KeyTab , the cursor should move from one QLineEdit to other Qlinedit ( it should not jump within the QLineEdit

                                          Please suggest some generic way

                                          For 3rd to last row the second column is Q![alt text](![image url](Table.PNG image url))

                                          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