Доступ к родительским функциям / переменным из дочернего класса в Python - PullRequest
0 голосов
/ 08 января 2020

В настоящее время я пытаюсь поиграться с Python и QT, чтобы создать некоторые инструменты для Maya (3D-приложения).

До сих пор я ладил, но теперь у меня есть некоторые проблемы и я получаю голова вокруг наследства. Я создал дочерний класс QListWidgetItem для добавления некоторых пользовательских логик c и хотел получить доступ к этим логам c на более позднем этапе при переборе левого QListWidget.

My UI

# Widget to get displayed inside myQListWidget
class BaseModule(QtWidgets.QListWidgetItem):
   def __init__(self,name):
      super(BaseModule, self).__init__(parent=parent)
         self.setText(name)
         self.name = name

   def BuildSkeleton(self):
      # Do some magic in here

window = belt.TWToolbelt()
rootModule = BaseModule(name='Root')
window.ui.AllModules.addItem(rootModule)

model = window.ui.ActiveModules.model()
model.rowsInserted.connect(lambda *_:drop(window))

# function, which get`s executed after a drag&drop action    
def drop(window):
   items = []
   for index in xrange(window.ui.ActiveModules.count()):
      items.append(window.ui.ActiveModules.item(index))

   for item in items:
      # iterating over all Active Modes on the left to execute my custom logic
      # as item is a QtWidget.QListWidgetItem and the fucntion is only existing
      # in it`s child class BaseModule I would like to know, how I can access or cast from a 
      # ParentClass to it`s child class, so I can execute my function
      item.BuildSkeleton()

Я получаю следующую ошибку с этим кодом:

 AttributeError: 'PySide2.QtWidgets.QListWidgetItem' object has no attribute 'BuildSkeleton'

Надеюсь, вы мне поможете.

Заранее спасибо

...