Dotcpp  >  编程教程  >  PythonGUI编程  >  wxPython模块(1)-简介和初始化

wxPython模块(1)-简介和初始化

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

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

          wxpython1

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

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

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

wxpython2

1. 初始化

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

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

代码如下:

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

运行结果为:

wxpython3

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

2. Frame框架

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

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为默认参数。

具体使用如下:

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

3. 总结

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



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

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