Vererbung mit PyQt

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
vorlautboy
User
Beiträge: 38
Registriert: Sonntag 7. Dezember 2008, 18:43

Freitag 20. Februar 2009, 19:40

hallo leute,

1)
warum geht folgendes nicht

Code: Alles auswählen

class Test(QtGui.QWidget, list):
...
# bspw. methode append() aufrufen
# TypeError: Error when calling the metaclass bases multiple bases have instance lay-out conflict
bzw. wenn die basisklassen gleiche member haben, wie kann ich dann genauer spezifizieren, auf welches attribut ich zugreifen möchte.

2)
wenns funktionieren würde, wie muss man dann diesen ausdruck schreiben, damit die konstruktoren beider basisklassen aufgerufen werden.

Code: Alles auswählen

class Hausboot(Haus, Boot):
   def __init__(self, ...):
        super(Hausboot, self).__init__(...)
DasIch
User
Beiträge: 2435
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Freitag 20. Februar 2009, 20:54

1. Du musst bedenken dass diese Klassen gewrappte C++ Klassen sind. Da gibt es schonmal überraschende Probleme die du sonst nicht hast.

2.

Code: Alles auswählen

class Spam(Foo, Bar):
    def __init__(self):
        Foo.__init__(self)
        Bar.__init__(self)
Antworten