wxPython第三篇、Checkbox控件实例讲解

wxPython第三篇、Checkbox控件实例讲解

前言:

​ wxPython有很多控件例如Button、CheckBox、StaticText、ListBox 等等(and so on),它的控件还是很多的,可以满足基本的开发需要,但是一天是不介绍不完的,慢慢介绍,不要急于求成,一口是吃不成一个胖子的!!!这些小控件的用法我会以小demo的方式逐一讲解,也或许你会发现这些小demo界面似曾相识。

​ 昨天讲解了Button的demo使用方法,至少我觉得把这样的控件拆成每一个小部分你会发现简单的多,并且有一些常用的属性或者说常用的函数都是有异曲同工之妙,好了,来看下今天的checkbox控件吧。

环境:

vs2017 Python3.6.6 wxPython4.0.6 (先说明一下环境以免不必要的问题出现)

效果展示:

不吹不躁,先看效果,看到这个Checkbox单词时,估计你想想不到这个控件长什么样子,但是当一看到这个图片时,暗自心想,,,,这不是,,,,,。对就是它,来一起看看怎么用吧–》》

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oauKHnRx-1572446783578)(C:\Users\FBC\AppData\Roaming\Typora\typora-user-images\image-20191030214121078.png)]

​ 按下后vs2017的中端就会打印输出当前的复选框的状态。True or Flase

代码实现:

 1 import wx  #导入模块
 2   
 3 class CheckBoxFrame(wx.Frame):  
 4     def __init__(self):  
 5         wx.Frame.__init__(self, None, -1, 'Checkbox Demo',   
 6                 size=(400, 300))  #初始化窗口信息
 7         panel = wx.Panel(self, -1) #创建画板,控件容器
 8         
 9         self.box = wx.CheckBox(panel, -1, "Checkbox", pos=(50, 50),size=(80,20))  #创建控件
10         self.Bind(wx.EVT_CHECKBOX, self.ChoseBox_Event, self.box)#绑定事件
11         self.box.SetValue(False)#设置当前是否被选中
12 
13     def ChoseBox_Event(self,event):#事件回调函数
14         print(self.box.GetValue())#打印True 证明复选框已经被选中 False 则反之
15         
16 #主函数入口
17 if __name__ == '__main__':
18     # 下面是使用wxPython的固定用法
19     app = wx.PySimpleApp()
20     frame = CheckBoxFrame()
21     frame.Show()
22     app.MainLoop() 

(先一睹为快)

代码讲解:

1 import wx  #导入wx模块

将需要的模块 使用 import 导入

 3 class CheckBoxFrame(wx.Frame):  
 4     def __init__(self):  
 5         wx.Frame.__init__(self, None, -1, 'Checkbox Demo',   
 6                 size=(400, 300))  #初始化窗口信息
 7         panel = wx.Panel(self, -1) #创建画板,控件容器
 8         
 9         self.box = wx.CheckBox(panel, -1, "Checkbox", (50, 50))  #创建控件
10         self.Bind(wx.EVT_CHECKBOX, self.ChoseBox_Event, self.box)#绑定事件
11         self.box.SetValue(False)#设置当前是否被选中

第5行 中以传参的形式初始化面板的一些基础信息,主要的是 'Checkbox Demo'size=(400, 300)这两个,'Checkbox Demo'不难看出第一个是面板的标题名字,size=(400, 300)是窗口的大小,直接将需要的大小填进去即可,python的类,在调用的时候会自动调用类的.__init__函数,所以说在这里布局UI界面即可了。

**第7行 ** 创建一个面板,接下来的控件全部放在这个面板之上。

**第9行 ** 在面板上添加控件wx.CheckBox(panel, -1, "Checkbox", pos=(50, 50),size=(80,20)),其中CheckBox这几个参数也比较好理解。

panel 所指定的面板

-1

"Checkbox" Checkbox控件的标签信息,也就是提示文字

pos=(50, 50) Checkbox控件的位置信息

size=(80,20) Checkbox控件的尺寸信息

**第10行 ** 将Checkbox控件绑定到ChoseBox_Event事件,参数如下:

wx.EVT_CHECKBOX 绑定的属性

self.ChoseBox_Event被绑定的回调函数,ChoseBox_Event就是函数的名字

self.box 控件

**第10行 ** self.box.SetValue(False)将复选框的默认值设置为False,也就是方框中不被选中,如果想被选中的话,可以使用 self.box.SetValue(True)

13     def ChoseBox_Event(self,event):#事件回调函数
14         print(self.box.GetValue())#打印True 证明复选框已经被选中 False 则反之

然后就是被绑定的回调函数的实现了,在这里实现了一个简单好用的demo,也就是当复选框被选中的时候打印,当前的选中情况,如果被选中打印True,否则打印False

**第13行 ** def ChoseBox_Event(self, event): ChoseBox_Event是函数名字,括号中可以理解为是固定的形式

第14行 是打印点击后的返回值。

以下是这个小Demo用到的一些重要方法

序号方法说明
1SetValue()设置当前控件的值
2GetValue()返回当前控件的值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7FS9iVSX-1572446783581)(C:\Users\FBC\AppData\Roaming\Typora\typora-user-images\image-20191028210117799.png)]

(注:文章为我一个人整理,如果有纰漏,希望联系并告知,我会及时改正,公众号内可以获取我的联系方式)

点个赞再走吧

我会定期在公众号更新好用,好玩的教程视频
你的关注是我更新的动力
在这里插入图片描述

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值