Python:如何在QT GUI中捕获Ctrl-O键按下?
问题描述:
在PyQt 4应用程序中,如何设置按下Ctrl-O来触发我的文件打开例程?Python:如何在QT GUI中捕获Ctrl-O键按下?
我已经设置了一个eventFilter()
来处理GUI中我的小部件的按键。我无法让过滤器响应Ctrl-O。
理想情况下,我想要一个解决方案,可以在整个GUI上工作,无论用户当前正在与哪个小部件进行交互。有可能将eventFilter连接到整个应用程序本身,而不仅仅是单个小部件?
(注:上面我已经输入 “CTRL-O” 使用清晰的大写字母O在现实中,用户可能会按 “Ctrl-O”
我使用PyQt4中,巨蟒。 3.5,在Ubuntu 16.10。
答
非常感谢@ilotXXI为指针QShortcut。
这里是为我工作的代码。我把它添加到def __init__(self):
例行我的MainWindow类的。ChooseFiles
是我的文件 - 在课程其他地方定义的开放程序
self.connect(QtGui.QShortcut(QtGui.QKeySequence(QKeySequence("Ctrl+o")), self), QtCore.SIGNAL('activated()'), self.ChooseFiles)
你看'QShortcut'吗? – ilotXXI
优秀!我不知道QShortcut。谢谢! – trinkner