我正在尝试使用非常模块化的命令方法开发一个应用程序,并认为它会很好,我正在使用 pyqt,使用 QAction 将快捷方式绑定到命令。
但是,似乎只有当操作在菜单或工具栏中可见时,操作快捷方式才有效。有谁知道在不可见的情况下让这个动作起作用的方法?
下面的一些示例代码显示了我正在尝试的内容。
谢谢,
安德烈
from PyQt4 import *
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys
class TesteMW(QMainWindow):
def __init__(self, *args):
QMainWindow.__init__(self, *args)
self.create_action()
def create_action(self):
self.na = QAction(self)
self.na.setText('Teste')
self.na.setShortcut('Ctrl+W')
self.connect(self.na, SIGNAL('triggered()'), self.action_callback)
# uncomment the next line for the action to work
# self.menuBar().addMenu("Teste").addAction(self.na)
def action_callback(self):
print 'action called!'
app = QApplication(sys.argv)
mw = TesteMW()
mw.show()
app.exec_()