最近有个应用需要使用桌面版,要求跨平台,考虑了electron,python和java等多种方案之后,最后决定用python进行开发,因为我们有些类库是python写的,调用起来就很方便了。python桌面开发有PyQt,wxPython,Tkinter等,由于PyQt是收费的,所以直接pass了,最后选择了wxPython,本系列文章把wxPython桌面应用开发的整个流程做个记录,与大家一起分享。本文的大部分内容和代码都来自《creating gui applications with wxpython》一书,如果英文好的话建议看原书。
wxPython安装配置
首先要安装好python3,一定要注意wxPython支持的版本,写这篇文章的时候,wxPython支持的最新版本是python3.10,我安装的python是3.11,安装的时候出现如下错误:
ModuleNotFoundError: No module named 'attrdict'
把python降到3.10后再安装就可以了。
通过以下命令安装wxPython。
python3 -m pip install wxPython
写一个简单的hello world程序,代码如下:
import wx
app = wx.App(False)
frame = wx.Frame(None, title='Hello World')
frame.Show()
app.MainLoop()
运行起来,是不是很简单?
对我们的程序做个简单的改造,把它改成面向对象的类,如下:
import wx
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title='Hello World With Class')
self.Show()
if __name__ == '__main__':
app = wx.App()
frame = MainFrame()
app.MainLoop()
在此运行,可爱的hello world窗口又出来了。代码非常简单也很容易理解。首先import wx导入wxPython类库,这个就不必说了。接着创建一个wx.app实例,然后创建一个wx.Frame实例并显示,然后进入程序监听循环即可。
评论区