gpt4 book ai didi

python - PyQt 上下文菜单快捷方式

转载 作者:行者123 更新时间:2023-12-04 18:09:00 24 4
gpt4 key购买 nike

我无法理解添加到 QMenu 的 QAction 的快捷方式功能。让我们从一个例子开始:

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_()

我希望 action() 在用户按下“Ctrl+T”时或在调用上下文菜单后按下“Ctrl+T”时被调用。但是当我按下快捷方式时没有任何反应。但是,当我将 QAction 添加到 TestApp

act = self.menu.addAction("testEntry", self.action, "CTRL+T")
self.addAction(act)

它可以工作(尽管当上下文菜单打开时它不工作)。那我做错了什么?

我在 OSX 10.6 上使用 PyQt4

感谢您的帮助;)

最佳答案

在 Mac 上,Qt 将控制键映射到 Meta 而不是 Ctrl

关于python - PyQt 上下文菜单快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19148915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com