Ich habe ein Metaklassenproblem im Zusammenhang mit PyQt4. Und zwar habe ich ein MainWindow, das verschiedene Widgets als Unterfenster erhalten soll. Deren Klassenobjekte sollen bei ihrer Erzeugung und Erzeugung von Instanzen nicht-klassenspezifischen Code ausführen, z.b. den Namen der Klasse, die erzeugt wird, soll irgendwo hingespeichert werden. Ich wollte deshalb dafür Metaklassen einsetzen, weil der Code nicht statisch implementiert werden kann, da dynamisch neue Klassen hinzugefügt werden können. Ich habe für die Unterfenster eine eigene Parentklasse kreiert:
Code: Alles auswählen
class SubWindow(QWidget):
class __metaclass__(type):
# [...]
Code: Alles auswählen
TypeError: Error when calling the metaclass bases
metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Vielen Dank für eure Antworten!
Gruß,
/dev