Dotcpp  >  编程教程  >  PythonGUI编程  >  wxPython模块(3)-按钮和复选框

wxPython模块(3)-按钮和复选框

点击打开在线编译器,边学边练

1. 按钮

按钮是GUI界面中必不可少的一环,在前面Tkinter中已经介绍过按钮,而且大家对按钮一定不陌生,那么我们直接进行语法的学习,wxPython中按钮的语法结构为:

wx.Button(parent,id,label,pos,size,style,validator,name)

它的相关参数与前面我们使用过的参数大致相同,下面我们使用Button按钮对上一节的登录界面进行修饰,代码如下:

import wx
class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY,"登陆", size =(300, 250))
        panel = wx.Panel(self, -1)
        wx.StaticText(panel, wx.ID_ANY, "登录界面", (0, 10),(150, -1),wx.ALIGN_RIGHT)
        self.text = wx.StaticText(panel, wx.ID_ANY, "账户", (0, 50),(80, -1),wx.ALIGN_RIGHT)
        self.text = wx.StaticText(panel, wx.ID_ANY, "密码", (0, 90),(80, -1),wx.ALIGN_RIGHT)
        self.text = wx.TextCtrl(panel, wx.ID_ANY, "", (100,50),(100, 20),wx.ALIGN_LEFT)
        self.text = wx.TextCtrl(panel, wx.ID_ANY, "", (100,90), (100, 20), wx.ALIGN_LEFT)
        self.button = wx.Button(panel, wx.ID_ANY, "登陆", (70,120),(50, 20),wx.ALIGN_LEFT)
        self.button = wx.Button(panel, wx.ID_ANY, "注册", (140,120), (50, 20), wx.ALIGN_LEFT)
if __name__ == '__main__':
    app = wx.App()
    frame = Frame()
    frame.Show(True)
    app.MainLoop()

运行图如下:

wxpython6

2. 复选框和单选按钮

复选框对应前面我们学习过的Tkinter中的check控件,复选框提供多个按钮,可提供同时开关的功能,单选按钮对应Tkinter的radio控件,单选按钮提供多个按钮,但是只能选择其中一个按钮,在wxPython中我们使用wx.CheckBox和wx.RadioButton来创建复选框和单选按钮。

看下面的例子(复选框):

import wx
class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY,"复选框", size =(300, 250))
        panel = wx.Panel(self, -1)
        self.box = wx.CheckBox(panel, -1, "Checkbox1", pos=(50, 50), size=(80, 20))  # 创建控件
        self.box = wx.CheckBox(panel, -1, "Checkbox2", pos=(50, 70), size=(80, 20))  # 创建控件
        self.box = wx.CheckBox(panel, -1, "Checkbox3", pos=(50, 90), size=(80, 20))  # 创建控件
if __name__ == '__main__':
    app = wx.App()
    frame = Frame()
    frame.Show(True)
    app.MainLoop()

运行结果如图:

wxpython7

单选框代码如下:

import wx
class MyFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1, "选择一种喜欢的运动方式", size=(300, 100))
        panel = wx.Panel(self)
        wx.StaticText(panel, wx.ID_ANY, "选择一种喜欢的运动方式", (0, 10), (200, -1), wx.ALIGN_RIGHT)
        self.check1 = wx.RadioButton(panel, -1, "打篮球", pos=(60, 40), size=(50, 20), style=wx.RB_GROUP)
        self.check2 = wx.RadioButton(panel, -1, "打乒乓球", pos=(130, 40), size=(50, 20))
        self.check3 = wx.RadioButton(panel, -1, "跑步", pos=(200, 40), size=(50, 20))
if __name__ == "__main__":
    app = wx.App()
    frame = MyFrame()
    frame.Show()
    app.MainLoop()

运行图如下:

wxpython8

单选按钮和复选框的使用方式类似,区别在于可不可以多选,这个在我们注册账户,选择信息的时候会经常使用到。

3. 总结

这几种控件与Tkinter的几种控件相对应,大家可以使用两种方法去完成同一个问题,然后找到一种适合自己的。



本文固定URL:https://www.dotcpp.com/course/293

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Python教程
第一章 Python入门
第二章 Python基础语法
第三章 Python入门语法
第四章 Python核心语法
第五章 Python函数
第六章 Python面向对象编程
第七章 Python模块
第八章 Python异常处理和程序调试
第九章 Python文件及目录操作
第十章 PythonGUI编程
第十一章 Python进程和线程
第十二章 Python数据库管理
第十三章 Python算法
第十四章 Python爬虫
第十五章 Python实战项目
第十六章 后记
Dotcpp在线编译      (登录可减少运行等待时间)