Code: Alles auswählen
#design layout in a separate XML file
<?xml version="1.0" encoding="utf-8"?>
<resource>
<object class="wxFrame" name="mainFrame">
<title>My Frame</title>
<object class="wxPanel" name="panel">
<object class="wxFlexGridSizer">
<cols>2</cols>
<rows>3</rows>
<vgap>5</vgap>
<hgap>5</hgap>
<object class="sizeritem">
<object class="wxStaticText" name="label1">
<label>First name:</label>
</object>
</object>
<object class="sizeritem">
<object class="wxTextCtrl" name="text1"/>
</object>
<object class="sizeritem">
<object class="wxStaticText" name="label2">
<label>Last name:</label>
</object>
</object>
<object class="sizeritem">
<object class="wxTextCtrl" name="text2"/>
</object>
<object class="spacer">
<size>0,0</size>
</object>
<object class="sizeritem">
<object class="wxButton" name="button">
<label>Submit</label>
</object>
</object>
</object>
</object>
</object>
</resource>
button anzusprechen bzw zu programmieren?
Code: Alles auswählen
#logic by itself in module
import wx
from wx import xrc
class MyApp(wx.App):
def OnInit(self):
self.res = xrc.XmlResource('gui.xrc')
self.init_frame()
return True
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()
def OnSubmit(self, evt):
wx.MessageBox('Your name is %s %s!' %
(self.text1.GetValue(), self.text2.GetValue()), 'Feedback')
if __name__ == '__main__':
app = MyApp(False)
app.MainLoop()