Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyQT中的绑定菜单操作_Python_Qt_Qt4_Pyqt_Pyqt4 - Fatal编程技术网

Python PyQT中的绑定菜单操作

Python PyQT中的绑定菜单操作,python,qt,qt4,pyqt,pyqt4,Python,Qt,Qt4,Pyqt,Pyqt4,这可能是件愚蠢的事,但我自己真的搞不懂 我正在为QtGui.QAction使用包装器类。代码如下: class Action_Abstract(Abstract): def __init__(self, app, menu): Abstract.__init__(self, app) action = QtGui.QAction(self.get_window()) action.setText('Text') acti

这可能是件愚蠢的事,但我自己真的搞不懂

我正在为QtGui.QAction使用包装器类。代码如下:

class Action_Abstract(Abstract):

    def __init__(self, app, menu):
        Abstract.__init__(self, app)

        action = QtGui.QAction(self.get_window())
        action.setText('Text')
        action.triggered.connect(self.execute)

        menu.addAction(action)

    def execute(self):
        print 'Called'
没有抛出错误,操作显示在菜单中。但当我单击action时,不会调用self.execute。 有趣的是,如果我从示例中将self.execute替换为QtGui.qApp.quit,它就可以工作了


我在这里遗漏了什么?

您是否保留了对Action\u Abstract实例的引用


如果您不这样做,问题可能是Python对象被垃圾收集,这也会切断到self.execute的连接。

谢谢您,好心的先生,这就是问题所在。看来,我在python方面还有很多东西要学。