Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用户界面)编程,用Python也可以写出漂亮的桌面程序,建议此次课程大家稍作了解不要浪费太多时间,因为没有哪家公司会招聘以为Python程序员开发桌面程序吧?
学完此次课程,我能做什么?
学完本次课程,大家可以完成一个简易的记事本编辑器。

学习此次课程,需要多久?
15-20分钟

课程内容
首先看一下目前有哪些主流的GUI平台。
Tkinter:使用Tk平台,支持大多数的Unix系统,同时可以在Windows和Mac下运行,是Python的标准界面库,但是由于界面丑陋,文档极差而被开发者吐槽。

wxpython:拥有成熟和丰富的包,跨平台,可在Unix,Windows,Mac下运行,入门简单,文档写的很详细,再加上官方的Demo大全,确实给初学者降低难度,可以作为入门学习的首选库。

PythonWin:只能在Windows上使用,调用windows的GUI,如果要做跨平台的应用程序,显然不会选择它。

PyGTK:使用GTK平台,Linux系统上使用较多,跨平台。

PyQt:优点界面美观,多个平台,文档和教程丰富。但是商业化使用有版权的问题,需要授权,体积相对较大。

由于wxpython比较受欢迎,今天我们一起来学习一下这个GUI平台。
1.安装 wxpython

pip3 install -U wxPython

其他版本的请到wxPython官网下载,百度wxpython直达。

2.入门程序 Hello World。

运行结果如下,弹出了一个窗口,标题为Hello World

安装好界面库以后,我们先实现第一入门程序,在桌面程序中输出Hello world。

3.代码分析

先创建一个程序

app = wx.App()

创建完程序,下一步就是创建一个窗口(Frame)

win = app.Frame(None)

创建完成窗口,我们想要显示结果怎么办?(Show)

win.show()

最后运行主程序MainLoop()

app.MainLoop()

逻辑还是比较清晰的。

具体每个方法包含了,哪些参数,大家可以看一下文档说的很清楚。

如何做一个记事本?

其实,画界面真没有太多要讲的,大多就是看文档,了解每个参数和方法的含义。上面的代码语义也很清楚,添加按钮,添加文本框,设置位置大小,多行,滚动条。

密密麻麻的文档,对界面库感兴趣的可以仔细了解一下。

界面画好了,功能如何实现呢?

看上去代码量很有点多,但是其实仔细分析一下很简单,先定义两个方法,当点击按钮时触发,按钮布局画完后,使用Bind()方法,绑定到相应的函数即可。函数内部是我们上节课学习的文件读写操作。

简单看一下离线文档和Demo

文档中详细的说明了每个参数的含义。

富文本编辑器

200+的Demo,如果把这些都看明白,一定是GUI的大神了。

小结
Python写界面库,如果没有特别大的兴趣,点到为止,了解一下就可以了。

posted @ 2023-08-04 12:21  DrJIE  阅读(167)  评论(0编辑  收藏  举报