Stichwort: Widget-hierarchie: Bin mir nicht sicher, was du meinst. Vielleicht sowas wie in dem Beispiel code von der website? (von wegen erst self.frame, dann self.panel und jetzt erst kann man self.text ansprechen)
Code: Alles auswählen
def init_frame(self):
self.frame = self.res.LoadFrame(None, 'mainFrame')
self.panel = xrc.XRCCTRL(self.frame, 'panel')
self.text1 = xrc.XRCCTRL(self.panel, 'text1')
self.text2 = xrc.XRCCTRL(self.panel, 'text2')
self.frame.Bind(wx.EVT_BUTTON, self.OnSubmit, id=xrc.XRCID('button'))
self.frame.Show()
Eigentlich ist das beispiel von der website etwas doof, weil direkt danach erwaehnt wird dass man self.panel getrost weglassen kann und einfach self.frame benutzen kann.
Note: It is not necessary to get an explicit reference to the Panel. When getting references to the Textboxes, you can simply use self.frame as the parent argument. XRCCTRL uses the FindWindowById method, which is recursive, and therefore will automatically find the Panel as the parent of the widgets even if self.frame is used.
Bis jetzt ist XRC fuer mich angenehm, weil der gesamte Sizer Ueberhang mit seinem gesamten Rattenschwanz ausgelagert ist (Der war im code wirklich sehr unuebersichtlich bei mir). Ich hatte bei fuer mich groesseren GUIs (also von wirklich komplexen Sachen Lichtjahre entfernt) schnell das Gefuehl, dass ich den Ueberblick verliere. Ob das jetzt an meinem unsauberen Programmierstil liegt oder nicht, sei mal dahin gestellt. Fakt ist, dass "bis jetzt" eine Menge code wegfaellt und ich mich nur, um die Bindings und die Logik kuemmern muss. Also wie gesagt "bis jetzt" tut es das, was auf der Verpackung steht.
Ich werde das auf jeden Fall einmal im Auge behalten und wenn ich etwas mehr Uebung mit XRC files habe nochmal bewerten.
Danke auf jeden Fall.