多选框
来源:互联网 发布:微信web开发者工具mac 编辑:程序博客网 时间:2024/06/18 06:59
多选框也叫复选框,是一个带有文本标签的开关按钮
import wxclass CheckBoxFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, u'多选框', size=(180, 180)) panel = wx.Panel(self, -1) wx.StaticText(panel, -1, u"你喜欢的水果:", (10, 10), (100, 20)) wx.CheckBox(panel, -1, u"苹果", (10, 30), (100, 20)) wx.CheckBox(panel, -1, u"香蕉", (10, 50), (100, 20)) wx.CheckBox(panel, -1, u"西瓜", (10, 70), (100, 20)) wx.CheckBox(panel, -1, u"桔子", (10, 90), (100, 20)) #创建了4个多选框控件CheckBox。(10, 10)表示position 。(100, 20)表示多选框大小if __name__ == '__main__': app = wx.PySimpleApp() CheckBoxFrame().Show() app.MainLoop()
结果
多选框事件
# -*- coding: UTF-8 -*-import wxclass CheckBoxFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, u'多选框', size=(150, 200)) panel = wx.Panel(self, -1) wx.StaticText(panel, -1, u"你喜欢的水果:", (10, 10), (100, 20)) self.checkBox1 = wx.CheckBox(panel, -1, u"苹果", (10, 30), (100, 20)) self.checkBox2 = wx.CheckBox(panel, -1, u"香蕉", (10, 50), (100, 20)) self.checkBox3 = wx.CheckBox(panel, -1, u"西瓜", (10, 70), (100, 20)) self.checkBox4 = wx.CheckBox(panel, -1, u"桔子", (10, 90), (100, 20)) #4个多选框 self.allCheckBox = wx.CheckBox(panel, -1, u"全选", (10, 110), (100, 20)) #单独设置个全选复选框 self.selectFlag = True # 判断全选是否选中? self.fruit = [] # 存放选中的水果 self.button = wx.Button(panel, -1, u"查看", (10, 140), (100, 20))#按钮控件,查看选中的多选框 self.Bind(wx.EVT_BUTTON, self.OnClick, self.button) # 按钮绑定onclick事件处理函数 for checkBox in [self.checkBox1, self.checkBox2, self.checkBox3, self.checkBox4]: self.Bind(wx.EVT_CHECKBOX, self.OnSelectSingle, checkBox) #4个复选框绑定OnSelectSingle事件处理函数 self.Bind(wx.EVT_CHECKBOX, self.OnSelect, self.allCheckBox) #全选复选框单独绑定OnSelect事件处理函数 def OnSelectSingle(self, event): checkBoxSelected = event.GetEventObject() #获取选中的多选框控件 if checkBoxSelected.IsChecked(): #如果多选框被选中 self.fruit.append(checkBoxSelected.GetLabelText()) #把该控件的标签加入到水果列表 else: self.fruit.remove(checkBoxSelected.GetLabelText()) #如果没有被选中,从列表中移除该控件标签名称?不是肯定被选中 self.selectFlag = not self.selectFlag #置为相反的布尔值?全局变量? def OnSelect(self, event): #全选复选框的事件处理函数 self.fruit = [] #清空水果列表 for checkBox in [self.checkBox1, self.checkBox2, self.checkBox3, self.checkBox4]: checkBox.SetValue(self.selectFlag) #把复选框1—4都设定值为TRUE,改变控件状态 if self.allCheckBox.IsChecked(): #全选复选框被选中 for checkBox in [self.checkBox1, self.checkBox2, self.checkBox3, self.checkBox4]: self.fruit.append(checkBox.GetLabelText()) #四个复选框的标签加入到水果列表 checkBox.Disable() #将四个多选框控件设置为disable else: #如果没有选中该复选框 for checkBox in [self.checkBox1, self.checkBox2, self.checkBox3, self.checkBox4]: checkBox.Enable() #其他四个复选框均可用enable self.selectFlag = not self.selectFlag #把变量selectFlag设置为相反的布尔值。? def OnClick(self, event): #单击按钮事件函数 str = "".join(self.fruit) # 获取checkbox的文本值 wx.MessageBox(str.encode("cp936"), u"提示") # 输出中文对话框if __name__ == '__main__': app = wx.PySimpleApp() CheckBoxFrame().Show() app.MainLoop()
结果
0 0
- 多选框
- 多选框
- 多选框
- 多选框
- 全选多选框
- 多选框1
- MultiselectItemSelector多选框
- 下拉多选框
- php 多选框
- Select2 多选框
- Android 多选框
- bootstrap 多选框
- 自制多选框
- Dorado7多选框
- ionic多选框
- 下拉多选框
- JS二级联动多选框
- 多选框的验证。。。
- 水果(STLmap的嵌套调用)
- STL vectorz中的 resize方法(16)
- 随风倒聚光镜火力发电
- hdu 1398 Square Coins
- 2012华为成都上机题目C++编程
- 多选框
- IOS 蓝牙开发 External Accessory Framework(转)
- 在js传递参数中含加号(+)的处理方式
- 关羽传
- 一个关于预编译的问题
- 完美的“白马王子”好丈夫?
- 大家来说说: C语言程序的结构特点
- Request Flow for Provisioning Instance in Openstack
- 学习笔记——html 元素 (一)