0
0 комментариев

Есть простой базовый класс Base:

class Base(object):
    def __init__(self):
        self.__setProperties = dict()
        self.__setProperties['className'] = 'Base'
 
    def updateProperty(self, propertyName, propertyValue):
        self.__setProperties[propertyName] = propertyValue

Когда наследуюсь от QWidget и от Base вот так

class MainWidget(QWidget, Base):
    def __init__(self):
        QWidget.__init__(self)
        self.__setProperties = dict()
        self.updateProperty('className', 'MainWidget')

экземпляр класса MainWidget создать получается. Когда же наследуюсь просто от класса Base вот так:

class Atom(Base):
    def __init__(self):
        self.__setProperties = dict()
        self.updateProperty('className', 'Atom')

при попытке создания экземпляра класса Atom возникает ошибка:

AttributeError: 'Atom' object has no attribute '_Base__setProperties'

Подскажите, пожалуйста, в чём дело.

UPD:
Если сделать так (поменять порядок QWidget, Base на Base, QWidget):

class MainWidget(Base, QWidget):

То возникает ошибка:

AttributeError: 'MainWidget' object has no attribute '_Base__setProperties'


Добавить комментарий