我有一个应用程序将多个子窗口小部件作为单独的窗口打开,如下所示:window1打开window 2打开window 3(简化形式)。
在主窗口中,我设置了CTRL+Q作为退出快捷键。下面是一个简单的主类示例。
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.actionExit = QtGui.QAction(_('E&xit'),self)
self.actionExit.setShortcut('Ctrl+Q')
self.actionExit.setStatusTip(_('Close application'))
self.connect(self.actionExit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
现在,如果我打开第三个孩子并按CTRL+Q,什么都不会发生。是否有方法使子项继承quit的快捷键或使快捷键成为全局快捷键,或者我必须在每个子项中声明它?
尝试设置ShortcutContext。
以下是我在
__init__
函数中使用的内容:QtGui.QShortcut(QtGui.QKeySequence("Ctrl+Q"), self, self.close)
工作顺利!
您也可以直接为您的QAction设置快捷方式:
这个例子和您的代码之间的唯一区别是
Ctrl+Q
首先被转换为QtGui.QKeySequence
。相关问题 更多 >
编程相关推荐