在PyQt 4应用程序中,如何设置按Ctrl-O来触发我的文件打开例程?
我已经设置了一个eventFilter()
来处理GUI中我的小部件的按键。我无法让过滤器响应Ctrl-O。
理想情况下,无论用户当前与哪个窗口小部件进行交互,我都希望能够在GUI中全局工作。可以将eventFilter连接到整个应用程序本身,而不仅仅是单个小部件吗?
(注意:上面,我输入" Ctrl-O"为了清晰起见使用大写字母O.实际上,用户可能会按下" Ctrl-o"。
我在Ubuntu 16.10上使用PyQt4,Python 3.5。
答案 0 :(得分:0)
非常感谢@ilotXXI指向QShortcut的指针。
这是适合我的代码。我将它添加到MainWindow类的def __init__(self):
例程中。 ChooseFiles
是我在类中其他地方定义的文件打开例程。
self.connect(QtGui.QShortcut(QtGui.QKeySequence(QKeySequence("Ctrl+o")), self), QtCore.SIGNAL('activated()'), self.ChooseFiles)