2
我无法理解添加到QMenu中的QAction的快捷功能。让我们用一个例子开始:PyQt上下文菜单快捷键
from PyQt4 import QtCore, QtGui
import sys
class TestApp(QtGui.QMainWindow):
def __init__(self, *args):
super(TestApp, self).__init__(*args)
#create contex menu
self.menu = QtGui.QMenu(self)
self.menu.addAction("testEntry", self.action, "CTRL+T")
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.customContextMenuRequested.connect(self.execContextMenu)
def execContextMenu(self, point):
self.menu.exec_(self.mapToGlobal(point))
def action(self):
print 'action called!'
app = QtGui.QApplication(sys.argv)
win = TestApp()
win.show()
app.exec_()
我希望行动()被称为要么按下用户按下“CTRL + T”或者“CTRL + T”时,之后的上下文菜单中调用。但是当我按下快捷键时没有任何反应。但是当我的QAction添加到TestApp
act = self.menu.addAction("testEntry", self.action, "CTRL+T")
self.addAction(act)
它的工作原理(尽管它并不时的上下文菜单打开时)。那么我做错了什么?
我使用PyQt4的上OSX 10.6
感谢所有帮助;)