1 需求
2 接口
?3.* 控件:wx.StaticText
import wxclass MainFrame(wx.Frame):def __init__(self, *args, **kwargs):super(MainFrame, self).__init__(*args, **kwargs)self.init_ui()self.Center()self.Maximize()def init_ui(self):static_text = wx.StaticText(parent=self,id=-1,label="Hello World",pos=wx.DefaultPosition,size=wx.DefaultSize,style=0,name="textCtrl")if __name__ == "__main__":app = wx.App()frame = MainFrame(None, title="wxPython Demo")frame.Show()app.MainLoop()
3.* 控件:wx.TextCtrl
import wxclass MainFrame(wx.Frame):def __init__(self, *args, **kwargs):super(MainFrame, self).__init__(*args, **kwargs)self.init_ui()self.Center()self.Maximize()def init_ui(self):text_control = wx.TextCtrl(parent=self,id=-1,value="",pos=wx.DefaultPosition,size=wx.DefaultSize,style=0,validator=wx.DefaultValidator,name="textCtrl")if __name__ == "__main__":app = wx.App()frame = MainFrame(None, title="wxPython Demo")frame.Show()app.MainLoop()
3.* 控件:wx.Button
import wxclass MyFrame(wx.Frame):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)self.text_ctrl = Noneself.init_ui()self.Center()self.Maximize()def init_ui(self):panel = wx.Panel(self)sizer = wx.BoxSizer(wx.HORIZONTAL)btn = wx.Button(panel, label="測試")self.text_ctrl = wx.TextCtrl(panel)sizer.Add(btn)sizer.Add(self.text_ctrl)btn.Bind(wx.EVT_BUTTON, self.on_btn)panel.SetSizer(sizer)def on_btn(self, event):self.text_ctrl.SetValue("hello world")if __name__ == "__main__":app = wx.App()frame = MyFrame(None, title="wxPython Demo")frame.Show()app.MainLoop()
3.* 控件:wx.RadioButton
import wxclass MyFrame(wx.Frame):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)self.init_ui()self.Center()self.Maximize()def init_ui(self):panel = wx.Panel(self)sizer = wx.BoxSizer(wx.HORIZONTAL)static_text = wx.StaticText(panel, label="Gender: ")male_radio_btn = wx.RadioButton(panel, label="Male", style=wx.RB_GROUP)female_radio_btn = wx.RadioButton(panel, label="Female")sizer.Add(static_text, flag=wx.ALL | wx.ALIGN_TOP, border=10)sizer.Add(male_radio_btn, flag=wx.ALL | wx.ALIGN_TOP, border=10)sizer.Add(female_radio_btn, flag=wx.ALL | wx.ALIGN_TOP, border=10)self.text_ctrl = wx.TextCtrl(panel)sizer.Add(self.text_ctrl, flag=wx.ALL | wx.ALIGN_TOP, border=10)male_radio_btn.Bind(wx.EVT_RADIOBUTTON, self.on_radio)female_radio_btn.Bind(wx.EVT_RADIOBUTTON, self.on_radio)panel.SetSizer(sizer)def on_radio(self, event):selected_label = event.GetEventObject().GetLabel()self.text_ctrl.SetValue(selected_label)if __name__ == "__main__":app = wx.App()frame = MyFrame(None, title="wxPython Demo")frame.Show()app.MainLoop()
3.* 示例:wx.CheckBox
……
3.* 示例:wx.ComboBox
……
3.* 示例:wx.ListBox
……
4 示例
……