Python:如何在QT GUI中捕获Ctrl-O键?

时间:2016-12-15 19:46:08

标签: python qt

在PyQt 4应用程序中,如何设置按Ctrl-O来触发我的文件打开例程?

我已经设置了一个eventFilter()来处理GUI中我的小部件的按键。我无法让过滤器响应Ctrl-O。

理想情况下,无论用户当前与哪个窗口小部件进行交互,我都希望能够在GUI中全局工作。可以将eventFilter连接到整个应用程序本身,而不仅仅是单个小部件吗?

(注意:上面,我输入" Ctrl-O"为了清晰起见使用大写字母O.实际上,用户可能会按下" Ctrl-o"。

我在Ubuntu 16.10上使用PyQt4,Python 3.5。

1 个答案:

答案 0 :(得分:0)

非常感谢@ilotXXI指向QShortcut的指针。

这是适合我的代码。我将它添加到MainWindow类的def __init__(self):例程中。 ChooseFiles是我在类中其他地方定义的文件打开例程。

self.connect(QtGui.QShortcut(QtGui.QKeySequence(QKeySequence("Ctrl+o")), self), QtCore.SIGNAL('activated()'), self.ChooseFiles)