Python GUI编程:wxPython模块之按钮和复选框

2023年 7月 12日 38.2k 0

   1. 按钮

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

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

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

1234567891011121314151617 import wxclass Frame(wx.Frame):    def __init__(self):        wx.Frame.__init__(selfNone, wx.ID_ANY,"登陆", size =(300250))        panel = wx.Panel(self-1)        wx.StaticText(panel, wx.ID_ANY, "登录界面", (010),(150-1),wx.ALIGN_RIGHT)        self.text = wx.StaticText(panel, wx.ID_ANY, "账户", (050),(80-1),wx.ALIGN_RIGHT)        self.text = wx.StaticText(panel, wx.ID_ANY, "密码", (090),(80-1),wx.ALIGN_RIGHT)        self.text = wx.TextCtrl(panel, wx.ID_ANY, "", (100,50),(10020),wx.ALIGN_LEFT)        self.text = wx.TextCtrl(panel, wx.ID_ANY, "", (100,90), (10020), wx.ALIGN_LEFT)        self.button = wx.Button(panel, wx.ID_ANY, "登陆", (70,120),(5020),wx.ALIGN_LEFT)        self.button = wx.Button(panel, wx.ID_ANY, "注册", (140,120), (5020), wx.ALIGN_LEFT)if __name__ == '__main__':    app = wx.App()    frame = Frame()    frame.Show(True)    app.MainLoop()

运行图如下:

Python GUI编程:wxPython模块之按钮和复选框

    2. 复选框和单选按钮

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

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

12345678910111213 import wxclass Frame(wx.Frame):    def __init__(self):        wx.Frame.__init__(selfNone, wx.ID_ANY,"复选框", size =(300250))        panel = wx.Panel(self-1)        self.box = wx.CheckBox(panel, -1"Checkbox1", pos=(5050), size=(8020))  # 创建控件        self.box = wx.CheckBox(panel, -1"Checkbox2", pos=(5070), size=(8020))  # 创建控件        self.box = wx.CheckBox(panel, -1"Checkbox3", pos=(5090), size=(8020))  # 创建控件if __name__ == '__main__':    app = wx.App()    frame = Frame()    frame.Show(True)    app.MainLoop()

运行结果如图:

Python GUI编程:wxPython模块之按钮和复选框

单选框代码如下:

1234567891011121314 import wxclass MyFrame(wx.Frame):    def __init__(self):        wx.Frame.__init__(selfNone-1"选择一种喜欢的运动方式", size=(300100))        panel = wx.Panel(self)        wx.StaticText(panel, wx.ID_ANY, "选择一种喜欢的运动方式", (010), (200-1), wx.ALIGN_RIGHT)        self.check1 = wx.RadioButton(panel, -1"打篮球", pos=(6040), size=(5020), style=wx.RB_GROUP)        self.check2 = wx.RadioButton(panel, -1"打乒乓球", pos=(13040), size=(5020))        self.check3 = wx.RadioButton(panel, -1"跑步", pos=(20040), size=(5020))if __name__ == "__main__":    app = wx.App()    frame = MyFrame()    frame.Show()    app.MainLoop()

运行图如下:

Python GUI编程:wxPython模块之按钮和复选框

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

    3. 总结

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

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论