Python GUI编程:wxPython模块简介和初始化

2023年 7月 12日 22.0k 0

Tkinter模块,通过该模块我们可以进行简单的图像界面开发,但是我们可以发现很多人在开发的时候还会选择wxPython模块,它是一个比较成熟且特性比较丰富的模块,它和Tkinter类似,也要引入窗口、按钮、文本框等内容,但是又有它独特的用法,在这里我们先通过一张图来了解一下程序和窗口之间的关系。

Python GUI编程:wxPython模块简介和初始化

然后我们通过一个最简单的wxPython程序来对应一下相关结构,代码如下:

12345 import wxapp = wx.App()win = wx.Frame(None,title = '小程序',size = (300,300))win.Show()app.MainLoop()

注意我们导入的时候使用wx两个英文字母,然后第一行的app即我们的应用程序对象,win对应的是一个窗口对象,我们可以在窗口中添加组件或者功能,然后下面的一行是使这个窗口显示,最后一行就是主事件循环,运行结果如下:

Python GUI编程:wxPython模块简介和初始化

   1. 初始化

上面提到的例子就是我们使用wxPython的基本架构,如果我们在程序开发的时候,使用类与对象的关系会更方便我们后期的处理。

我们创建子类的时候首先定义一个子类,然后创建一个OnInit()方法来初始化这个子类,最后在主程序中调用这个类,然后进入主事件循环。

代码如下:

123456789 import wxclass App(wx.App):    def OnInit(self):        window = wx.Frame(parent = None,title = '初始化')        window.Show()        return Trueif __name__ == '__main__':    app = App()    app.MainLoop()

运行结果为:

Python GUI编程:wxPython模块简介和初始化

这个例子中,我们定义的子类App继承了父类wx.App,然后在子类中创建了一个初始化方法,最后在主程序中创建一个类的实例,再进入主事件循环。

    2. Frame框架

我们在创建实例的时候总是要引入Frame框架,它属于一种容器,可以用来存放我们主程序的一些标题和功能区,我们来看一下它的语法结构:

1 wx.Frame(parent,id=-1,title=’’,style=’’,name=’’,pos=wx.DefaultPositon,size=wx.DefaultSize)

Parent指的是框架所处的位置,也就是父窗口的名字,如果当前为顶级窗口,就用None来代替,id为新窗口的ID号,通常设置为-1,title即窗口的名字,size即窗口的大小,style即窗口的类型,name框架的内部名字,pos为一个对象,指定了这个新窗口在界面中的位置,上面所选的Default为默认参数。

具体使用如下:

1 window = wx.Frame(parent = None,id = -1,title = 'Frame框架',size = (400,400),pos = (2,2))

    3. 总结

对比与Tkinter我们可以发现他们之间有很多类似的地方,但是他们的语法部分是对应的但使用方法却不相同,所以在使用的时候一定要注意两个模块的使用区别。

相关文章

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

发布评论