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
Forum Updated to NodeBB v4.3 + New Features

Suggestions for relevant key binding

Scheduled Pinned Locked Moved Unsolved General and Desktop
20 Posts 3 Posters 1.3k 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 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 Offline
                                      Christian EhrlicherC Offline
                                      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