PySide在单独的文件中发出信号

时间:2013-01-15 02:34:33

标签: python qt pyside

我正在使用Qt和PySide编写GUI应用程序,我通常在我的类的 init 函数中连接我的信号。如何将所有信号放在单独的文件中,然后从主文件中的文件中调用该函数?这样的事情。

import Signals
class Program(QtGui.QMainWindow, GUI.Ui_MainWindow):
    def __init__(self, parent=None):
        super(Program, self).__init__(parent)
        self.setupUi(self)

        Signals.ConnectSignals()

Signals.py

class ConnectSignals(QtGui.QMainWindow, VUI.Ui_MainWindow):
    def __init__(self, parent=None):
        super(ConnectSignals, self).__init__(parent)

        self.setupUi(self)

        self.actionClose.triggered(self.close)

但是当我这样做时,我收到了这条消息 self.actionClose.triggered(self.close) TypeError:原生Qt信号不可调用

1 个答案:

答案 0 :(得分:0)

我不确定其余部分是否应该有效,但错误是因为你遗失了.connect我认为它应该是

self.actionClose.triggered.connect(self.close)

self.actionClose.triggered是一个信号(我假设actionClose是一个动作)并且错误告诉您信号没有定义__call__