一、最简单的wxPython程序
我们今天来讲关于wxpython的第一个程序。同样的,我们也是要编写一个Hello World程序,代码如下:
#引用wxPython库
import wx
#创建应用程序对象
app=wx.App()
#创建窗口对象
frame=wx.Frame(None,title="Hello World",size=(400,300),pos=(100,100))
#显示窗口
frame.Show()
#进入主事件循环
app.MainLoop()
至此,我们就创建了一个最基本的wxPython窗口。
声明这种窗口,总有一定的步骤:
- 引用库文件
- 创建应用程序对象:这个App对象其实就是一种图形应用程序对象。
- 创建窗口:一个程序,总有窗口,这里就是用Frame框架搭建的窗口。
- 显示窗口:当然一个窗口默认是不可见的,必须要设置显示,才会出现在屏幕上,要用Show函数
- 进入主事件循环:最后调用该方法,使应用程序进入主事件循环。所有的图形处理和界面展示都是基于主事件循环的,只有调用了MainLoop函数才会真正响应事件和处理事件。其实就是把程序的控制权交给wxPython,并阻塞,直到有特殊事件(如关闭窗口)才会返回。
下面来展示一下我们的窗口:
还不错,下面我们来讲解一下关于wxPython中的Frame框架
参数1:默认值为None,为以后版本而保留……
title参数:用于定义窗口名称,比如我们的窗口名为Hello World。
size参数:指定窗口的大小,是一个元组,格式为(长,宽)
pos参数:指定窗口离电脑屏幕左上角的距离,是一个元组,格式同上
二、常见的wxPython代码
我们上面说得很简单,下面来见识一下真正常用的代码:
import wx
class MyFrame(wx.Frame): #该对象继承于wx.Frame框架
def __init__(self):
super().__init__(parent=None,title="窗口",size=(400,300),pos=(100,100))
#TODO
class App(wx.App): #该对象继承于wx.App框架
def OnInit(self): #直接实例化该对象并调用此函数,相当于显示,然后直接在main中进入主事件循环
frame=MyFrame()#执行窗口定义
frame.Show()
return True
def OnExit(self): #可以在这里释放一些资源
print("应用程序退出")
return 0
if __name__=='__main__':#判断是否是主进程
app=App()
app.MainLoop() #在这里调用主事件循环
这是常用的wxPython框架,本来我们应该是使用wx.App来调用主事件循环,但我们自己定义了一个类,它不仅有自己的功能,还有我们新定义的功能,关于继承我们不再讲述。为什么我们要多写一个类呢?因为这样做可以捕获到应用程序的生命周期。它的主要方法就是OnInit函数和OnExit函数。
我们来运行一下,这个例子和刚才的例子是一样的(除了窗口名以外):
三、总结
至此,我们的第一个wxPython程序就写好了,欢迎大家评论!如有不足,请指出 !感谢您的阅读!