单独文件中的 PySide 信号

Posted

技术标签:

【中文标题】单独文件中的 PySide 信号【英文标题】:PySide Signals in separate file 【发布时间】:2013-01-15 02:34:32 【问题描述】:

我正在使用 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()

信号.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: native Qt signal is not callable

【问题讨论】:

你解决过这个问题吗? 【参考方案1】:

我不确定其余部分是否应该/将起作用,但错误是因为你缺少 .connect 我认为应该是

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

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

【讨论】:

以上是关于单独文件中的 PySide 信号的主要内容,如果未能解决你的问题,请参考以下文章

Pyside2信号连接 定义方法的方式

如何从 PySide 访问 QML\QtQuick 控件?

如何断开 PySide2 中的按钮单击信号?

使用重载的 PySide 信号调用 Python 函数而不传递参数

PySide/PyQT5:如何从 QGraphicsItem 发出信号?

PySide (Qt) 信号未到达我的插槽