PySide GUI的键盘导航

时间:2014-03-27 06:32:28

标签: python qt user-interface pyqt pyside

我正在使用PySide进行应用程序开发。应用程序已准备就绪,但我想仅使用键盘来使用它。简而言之,当我们按下' tab'键,它按顺序导航各种小部件&点击'输入'动作就像点击鼠标一样'。

如何实现这一目标?

提前致谢。

2 个答案:

答案 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加速器在焦点窗口上是唯一的。