【发布时间】:2018-08-29 06:20:29
【问题描述】:
我正在尝试使用 abc.ABCMeta 和 QObject 作为父级创建一个 AbstractClass,但似乎无法使其工作。
这里是基类初始化。我有 Pyqt5 和 python 2.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 个参数,它会要求一个字符串作为第一个参数。
【问题讨论】:
标签: python pyqt python-2.x metaclass cls