wxGlade - Frame immer mit SubClass...

Plattformunabhängige GUIs mit wxWidgets.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

wxGlade - Frame immer mit SubClass...

Beitragvon jens » Mittwoch 8. Dezember 2004, 21:52

wxGlade markiert ja einen Frame immer mit SubClass:

Code: Alles auswählen

<object class="wxFrame" name="frame_1" subclass="MyFrame">


Kann mir jemand erklären, was subclass überhaupt bedeutet und vor allem, wie man als XRC-Resource damit umgeht???

Ich kenne nur die variante, bei wx.xrc.XmlResource() als Argument noch wx.xrc.XRC_NO_SUBCLASSING anzugeben... Dann scheint alles gut... Wenn ich es weglasse bekomme ich einen Fehler:
Subclass 'MyFrame' not found for resource 'frame_1', not subclassing!
fdj

Re: wxGlade - Frame immer mit SubClass...

Beitragvon fdj » Sonntag 3. Juli 2005, 13:25

jens hat geschrieben:wxGlade markiert ja einen Frame immer mit SubClass:

Code: Alles auswählen

<object class="wxFrame" name="frame_1" subclass="MyFrame">

Kann mir jemand erklären, was subclass überhaupt bedeutet und vor allem, wie man als XRC-Resource damit umgeht???

Code: Alles auswählen

Subclass 'MyFrame' not found for resource 'frame_1', not subclassing!

Wenn du ein Frame mit subclass="MyFrame" lädst, versucht xrc automatisch eine Klasse mit dem Namen "MyFrame" im aktuellen Namespace zu finden und nimmt diese anstelle des normalen wx.Frame.

So kannst du recht einfach eine eigene Frame-Klasse, die ihre Controlls initialisiert, Events verknüpft etc. schreiben und diese trotzdem via xrc laden. Dabei legt name="frame_1" die ID fest, mit der Du dieses Control später in Python ansprechen kannst (via wx.xrc.XRCCTRL, liefert eine Referenz auf das Control, und wx.xrc.XRCID, dass die wxPython-ID zurück gibt).

Befindet sich diese Klasse ein einer eigenen Datei, die du z.B. mit

Code: Alles auswählen

import myFrame

importierst, so muss die Zeile in der XML-Datei so aussehen:

Code: Alles auswählen

<object class="wxFrame" name="frame_1" subclass="myFrame.MyFrame">

Vielleicht hilft diese späte Antwort ja noch jemandem ;)

Dave
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: wxGlade - Frame immer mit SubClass...

Beitragvon Leonidas » Sonntag 3. Juli 2005, 13:36

Hallo Dave, willkommen im Forum!

fdj hat geschrieben:Vielleicht hilft diese späte Antwort ja noch jemandem ;)

Mhh, das ist ja ein nettes Feature und eine gute Erklärung.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder