Найти - Пользователи
Полная версия: Как правильно наследовать класс
Начало » Python для новичков » Как правильно наследовать класс
1
Serbis
Как правильно получить доступ к объекту наследуемого класса?
class infoLay(QtGui.QWidget):
   def __init__(self, parent=None):
     QtGui.QWidget.__init__(self, None)
     self.eanTable = QtGui.QTableWidget()
   
class eanLay(infoLay):
  def __init__(self, parent=None):
    QtGui.QWidget.__init__(self, None)
  def slot_delEan(self,):
    row = self.eanTable.correntRow()

На что получаю что row не может быть определена так как -
AttributeError: ‘eanLay’ object has no attribute ‘eanTable’

Serbis
Сам же уже нашел свою ошибку - не вызывал конструктор класса родителя. Тогда встречный вопрос. Дело в том, что мне необходимо многократно поучать доступ к объектам класса InfoLay из других классов, но он так устроен, что его конструктор может быть вызван только один раз, повторный возов ведет к критическим последствиям. Как вообще можно определить экземпляр InfoLay глобально. При попытке просто прописать его в теле модуля:
iLay = infoLay()
class infoLay(QtGui.QWidget):
  def __init__(self, parent=None):
    QtGui.QWidget.__init__(self, None)

я получаю ту же ошибку NameError: name ‘infoLay’ is not defined
fata1ex
На этот вопрос я вам уже отвечал здесь. Пусть конструктор класса infoLay всегда возвращает один и тот же единожды созданный объект.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB