subclass dans les fichiers XRC
J'utilise wxGlade pour générer un fichier .xrc (je prefere a xrced)
voila le fichier xrc:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<?xml version="1.0" encoding="ISO-8859-15"?>
<!-- generated by wxGlade 0.4 on Sat Dec 23 12:16:48 2006 -->
<resource version="2.3.0.1">
<object class="wxFrame" name="frmFrameClass" subclass="FrameClass">
<style>wxDEFAULT_FRAME_STYLE</style>
<size>220, 130</size>
<title>frame_1</title>
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<option>1</option>
<flag>wxEXPAND|wxADJUST_MINSIZE</flag>
<object class="wxButton" name="btnQuit">
<handler>btnQuitClick</handler>
<label>Bye !!</label>
</object>
</object>
</object>
</object>
</resource> |
et le code Python:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| import wx
from wx import xrc
class FrameClass(wx.Frame):
def __init__(self):
self.res = xrc.XmlResource('test.xrc', 0) # ne pas oublier le flag 0 si textes en français!
self.PostCreate(self.res.LoadFrame(None, 'frmFrameClass'))
self.btnTest = xrc.XRCCTRL(self, 'btnQuit')
self.Bind(wx.EVT_BUTTON, self.btnQuit, self.btnTest)
def btnQuit(self, event):
print "Event handler `btnQuit' not implemented"
self.Close()
event.Skip()
class AppTest(wx.App):
def OnInit(self):
wx.InitAllImageHandlers()
frm = FrameClass()
self.SetTopWindow(frm)
frm.Show()
return True
if __name__ == "__main__":
app = AppTest(0)
app.MainLoop() |
Pb: si j'ai l'attribut SUBCLASS dans
Code:
<object class="wxFrame" name="frmFrameClass" subclass="FrameClass">
j'ai un message d'erreur, si je supprime cet attribut, il n'y a plus de problème.
Je pourrais supprimer l'attribut SUBCLASS (quoique wxGlade le met automatiquement) mais j'aimerais savoir quand même pourquoi j'ai cette erreur et comment resoudre le problème.
PS: je debute en Python (mais pas en prog)
PS2: Merci a Marc Lebrun pour sa page wxPython: Interfaces graphiques avec XRC