2017-10-19 136 views
1

我想为接口创建抽象基类,但我需要它从QObject派生出信号和插槽。我的类定义是这样的:如何在从QObject派生的python中创建抽象基类

import abc 
from PyQt5.QtCore import QObject 

class interface_class(abc.ABC, QObject): 
    pass 

它失败:

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

任何想法?

感谢

回答

1

基于Multiple inheritance metaclass conflict

尝试

import abc 
from PyQt5.QtCore import QObject, pyqtWrapperType 

class FinalMeta(pyqtWrapperType, abc.ABCMeta): 
    pass 

class interface_class(QObject, metaclass=FinalMeta): 
    pass 
相关问题