wxpython
wx.frame(perent, id, title, pos, size, style, name) —— 程序窗口控件
perent —— 该控件的父类,一般首个frame没有父类填None。
id —— 常用于Event事件,便于事件获取id值
title —— 程序标题
pos —— 程序出现的位置pos=(x ,y)
size —— 整个框架的尺寸size=(x, y)
style —— 框架的风格
name —— 框架的名字
用法:
frame = wx.frame(None, id=1, title='你好,世界', size=(x, y)
wx.app() —— 程序主函数
配合wx.MainLoop()运行
用法:
app = wx.app()
app.MainLoop()
wx.button(perent, id, label, pos, size, validator, name) —— 普通按钮控件
perent —— 控件的父类
id —— id用于Event事件
label —— 按钮显示的文本
pos —— 按钮在父类上的位置
size —— 按钮的尺寸
validator —— 未知
name —— 未知
用法:
button = wx.button(frame, id=1, pos=(20, 20), size=(20,30))
wx.Panel(perent, id, pos, size, style, name) —— 面板控件
perent —— 控件父类
id —— 控件id
pos —— 位置
size —— 尺寸
style —— 风格
name —— 名字
wx.Radiob=Button() —— 单选按钮
perent —— 控件的父类
id —— id用于Event事件
label —— 按钮显示的文本
pos —— 按钮在父类上的位置
size —— 按钮的尺寸
validator —— 未知
name —— 未知
style —— 风格 RB_GROUP为一组的开始,只有遇到下一个RB_GROUP标志着一组的结束,不包括当前标志按钮在内。同组的按钮具有互斥性。例如:
kobe = wx.RadioButton(frame, label='kobe', style=RB_GROUP) xiaobudin = wx.RadioButton(frame, label='xiaobudin')
这里表示小布丁和科比是一组,选择的时候只能选择一个!
wx.CheakBox(frame, id, label, pos, size, validator, name, style) —— 多选按钮
perent —— 控件的父类
id —— id用于Event事件
label —— 按钮显示的文本
pos —— 按钮在父类上的位置
size —— 按钮的尺寸
validator —— 未知
name —— 未知
style —— 风格
Check = wx.CheckBox(Panel, label='Java') Check1 = wx.CheckBox(Panel, label='Python')
wx.StaticText(Perent, id, label, pos, size, style, validator, name, style) —— 静态文本控件
statictext = wx.StaticText(Panel, label='你好,世界') #实例化对象 statictext.SetLabelText('hello world') #修改显示内容
wx.TextCtrl(Perent, id, value, pos, size, validator, name, style) —— 动态文本输入框
value —— 控件的初始内容
style —— 风格,该控件风格有包内自带的普通文本框,密码文本框(wx.TE_PASSWORD),多行文本框等。
text = wx.TextCtrl(frame) text.SetValue('设置控件的初始内容') print(text.GetValue()) #获取文本框当前的值
wx.Bind(event, handle, source, id, id2) —— 将事件绑定到控件
event —— 事件的类型例如wx.EVT_BUTTON, wx.EVT_CHEAKBOX, wx.EVT_RADIOBUTTON
handle —— 事件的处理者
source —— 事件源
id, id2 —— 组合使用和控件的id相关id=1,id2=5表示能够触发事件的id范围 [1,5] 闭区间
class Myframe(wx.Frame): def __init__(self): super().__init__(self) Button = wx.Button(self, id= 11, label='按钮') self.Bind(wx.EVT_BUTTON, self.OnClick, id=10, id2=20) self.Bind(wx.EVT_BUTTON, self.OnClick, Button) def OnClick(self, event): #事件执行函数名自行设置,Bind会传两个参数,所有需要self,event两个形参 event_id = event.GetId() #获取触发事件id event_Object = event.GetEventObject() #获取触发事件对象 print(event_id) print(event_Object)
wx.BoxSizer() —— 盒子布局管理器
self.BOXSIEZ0 = wx.BoxSizer(wx.HORIZONTAL) # 布局管理器 水平 self.BOXSIEZ1 = wx.BoxSizer(wx.VERTICAL) # 垂直 形参表示的是该管理器的布局方式 self.Button = wx.Button(Panel, label='按钮') wx.BoxSizer.Add(控件, proportion, flag, border) wx.BoxSizer.Add(BoxSize, proportion, flag, border) # 这是将对象添加到盒子管理器中,第一个参数是控件或者另一个盒子管理器,proportion权重,表示在该布局管理器中的自己四周的范围,填int参数。flag是标签,表示在该盒子管理器中排列的方式,border