Python PyQt5支持不从QObject继承的类中的信号

Python PyQt5支持不从QObject继承的类中的信号,python,qt,pyqt5,qobject,Python,Qt,Pyqt5,Qobject,在“PyQt4和PyQt5之间的差异”部分(),我可以阅读以下行: 与PyQt4不同,PyQt5支持在未从QObject(即在mixin中)细分的类中定义属性、信号和插槽 但是,在“支持信号和插槽”部分(),我可以阅读: 新信号只能在QObject的子类中定义。它们必须是类定义的一部分,并且不能在定义类后作为类属性动态添加 我是误解了什么,还是这两个句子互相矛盾?注意混合部分。这意味着你可以做如下事情: from PyQt5.QtCore import pyqtSignal, QObject

在“PyQt4和PyQt5之间的差异”部分(),我可以阅读以下行:

与PyQt4不同,PyQt5支持在未从QObject(即在mixin中)细分的类中定义属性、信号和插槽

但是,在“支持信号和插槽”部分(),我可以阅读:

新信号只能在QObject的子类中定义。它们必须是类定义的一部分,并且不能在定义类后作为类属性动态添加

我是误解了什么,还是这两个句子互相矛盾?

注意混合部分。这意味着你可以做如下事情:

from PyQt5.QtCore import pyqtSignal, QObject

class SignalMixin:
    sig = pyqtSignal()

class Obj(SignalMixin, QObject):
    pass

o = Obj()
o.sig.connect(lambda: print('foo'))
o.sig.emit()

第二次引用有权:)