如何在Python中创建一个派生自QObject的抽象基类

Tin*_*iny 5 python pyqt pyqt5

我正在尝试为接口创建一个抽象基类,但我需要它从 QObject 派生信号和槽。我的类定义如下:

import abc
from PyQt5.QtCore import QObject

class interface_class(abc.ABC, QObject):
    pass
Run Code Online (Sandbox Code Playgroud)

它失败了:

TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

谢谢

sha*_*.lo 4

基于多重继承的元类冲突

尝试

import abc
from PyQt5.QtCore import QObject, pyqtWrapperType

class FinalMeta(pyqtWrapperType, abc.ABCMeta):
    pass

class interface_class(QObject, metaclass=FinalMeta):
    pass
Run Code Online (Sandbox Code Playgroud)