我正在使用PySide进行应用程序开发。应用程序已准备就绪,但我想仅使用键盘来使用它。简而言之,当我们按下' tab'键,它按顺序导航各种小部件&点击'输入'动作就像点击鼠标一样'。
如何实现这一目标?
提前致谢。
答案 0 :(得分:2)
可以设置一些小部件来将Tab键解释为小部件的输入,而不是更改焦点的指令。其中一个是QTextEdit
,其中tab键可以设置为在窗口小部件的文本中输入制表符而不是更改焦点。
您可以通过为相应的my_text_edit.setTabChangesFocus(True)
小部件设置QTextEdit
来停止此行为。您也可以在Qt Designer中设置此行为,如果您使用它来生成UI。
请参阅:http://qt-project.org/doc/qt-4.8/qtextedit.html#tabChangesFocus-prop
我想有一个类似的方法调用任何其他小部件,它们不会将tab键解释为更改焦点的命令。
答案 1 :(得分:1)
除了three_pineaples建议的内容之外,如果您不想丢失焦点抓取小部件(短信,表格)中的标签键功能,您可以始终使用带有特定键盘快捷键的标签,以便用户可以远离焦点抓取小部件:
name = QtGui.QLineEdit(self)
name_lbl = QtGui.QLabel('&Name:', self)
name_lbl.setBuddy(name)
使Alt + n将焦点放在'name'小部件上,前提是Alt + n加速器在焦点窗口上是唯一的。