在 PySide 中,我想使用将信号定义为参数的类来发出信号。例如:
class MyWidget(QtGui.QWidget):
signal_widget_closed = QtCore.Signal(MyWidget)
def close(self):
super(MyWidget, self).close()
self.signal_widget_closed.emit(self)
但是,第二行给出了一个 NameError,因为此时 MyWidget 还不存在。 现在我通过发出这样的 QWidget 来解决这个问题
signal_widget_closed = QtCore.Signal(QtGui.QWidget)
但我更喜欢使用 MyWidget 作为类型的解决方案。有什么想法吗?
最佳答案
可以在类定义之后定义信号。
您的代码如下所示:
class MyWidget(QtGui.QWidget):
def close(self):
super(MyWidget, self).close()
self.signal_widget_closed.emit(self)
MyWidget.signal_widget_closed = QtCore.Signal(MyWidget)
关于python - 如何在 PySide 中发出以 self 作为参数的信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15717997/