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

2022-08-0422:54:26编程语言入门到精通Comments578 views字数 1327阅读模式

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

Python GUI编程:wxPython模块简介和初始化文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

然后我们通过一个最简单的wxPython程序来对应一下相关结构,代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

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

注意我们导入的时候使用wx两个英文字母,然后第一行的app即我们的应用程序对象,win对应的是一个窗口对象,我们可以在窗口中添加组件或者功能,然后下面的一行是使这个窗口显示,最后一行就是主事件循环,运行结果如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

Python GUI编程:wxPython模块简介和初始化文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

   1. 初始化文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

上面提到的例子就是我们使用wxPython的基本架构,如果我们在程序开发的时候,使用类与对象的关系会更方便我们后期的处理。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

我们创建子类的时候首先定义一个子类,然后创建一个OnInit()方法来初始化这个子类,最后在主程序中调用这个类,然后进入主事件循环。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

1
2
3
4
5
6
7
8
9
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()

运行结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

Python GUI编程:wxPython模块简介和初始化文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

这个例子中,我们定义的子类App继承了父类wx.App,然后在子类中创建了一个初始化方法,最后在主程序中创建一个类的实例,再进入主事件循环。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

    2. Frame框架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

我们在创建实例的时候总是要引入Frame框架,它属于一种容器,可以用来存放我们主程序的一些标题和功能区,我们来看一下它的语法结构:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

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为默认参数。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

具体使用如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

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

    3. 总结文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

对比与Tkinter我们可以发现他们之间有很多类似的地方,但是他们的语法部分是对应的但使用方法却不相同,所以在使用的时候一定要注意两个模块的使用区别。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26566.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/26566.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定