本章介绍图形用户界面中主要所用到的控件:
- 静态文本
- 按钮
- 复选框
- 单选按钮
- 下拉列表
- 静态图片控件
静态文本和按钮
点击“Button”,实现文本显示改变信息。
# 静态文本和按钮
import wx
class myFrame(wx.Frame):
def __init__(self):
super().__init__(parent=None, title='静态文本和按钮')
self.Center()
panel = wx.Panel(parent=self)
vBox = wx.BoxSizer(wx.VERTICAL)
# 静态文本
self.titleText = wx.StaticText(parent=panel, label='show text')
# 普通按钮
b1 = wx.Button(parent=panel, label='Button', id=1)
self.Bind(wx.EVT_BUTTON, self.on_Click, b1)
# 带有图标的按钮,wx.BITMAP_TYPE_PNG--设置图标格式类型
bmp = wx.Bitmap(r'D:\WORK\Python\Python_Code\ Basics\image01.png', wx.BITMAP_TYPE_PNG)
b2 = wx.BitmapButton(panel, -1, bmp)
self.Bind(wx.EVT_BUTTON, self.on_Click, b2)
# 两种状态的按钮
b3 = wx.ToggleButton(panel, -1, 'ToggleButton')
self.Bind(wx.EVT_BUTTON, self.on_Click, b3)
vBox.AddMany([(100, 10, 1, wx.CENTER | wx.FIXED_MINSIZE), (self.titleText, 1, wx.CENTER | wx.FIXED_MINSIZE),
(b1, 1, wx.CENTER | wx.EXPAND), (b2, 1, wx.Center | wx.EXPAND), (b3, 1, wx.Center | wx.EXPAND)])
panel.SetSizer(vBox)
def on_Click(self, evt):
self.titleText.SetLabelText('hello')
class myApp(wx.App):
def OnInit(self):
frame = myFrame()
frame.Show()
return True
if __name__ == '__main__':
app = myApp()
app.MainLoop()
执行结果: