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

内容摘要
        我们在前面学习来Tkinter模块,通过该模块我们可以进行简单的图像界面开发,但是我们可以发现很多人在开发的时候还会选择wxPython模块,它是一个比较成熟且特性比较丰富
文章正文

        我们在前面学习来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我们可以发现他们之间有很多类似的地方,但是他们的语法部分是对应的但使用方法却不相同,所以在使用的时候一定要注意两个模块的使用区别。

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!