我正在尝试创建一个使用这两者的抽象类abc.ABCMeta公司而作为父母的QObject似乎无法让它发挥作用。在
这是基类init。我有Pyqt5和python2.7
pyqtWrapperType = type(QObject)
class ParamsHandler(abc.ABCMeta, pyqtWrapperType):
def __init__(self, device_model, read_only=False):
super(ParamsHandler, self).__init__()
self.cmd_to_get_data = None
self.device_model = device_model
class ConfigParamsHandler(ParamsHandler):
def __init__(self, device_model):
super(ConfigParamsHandler, self).__init__(device_model)
self.cmd_to_get_data = Commands.CONFIG_PARAMS
我得到了一个TypeError('new()正好有4个参数(给定2个)’,我还有Pycharm建议我使用cls而不是self
如果我提供4个参数,它会要求字符串作为第一个参数。在
abc.ABCMeta
应该用作元类。因此,与其扩展它,不如尝试:我用这个方法解决了这个问题:
相关问题 更多 >
编程相关推荐