1. 首页
  2. web前端

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平台。学习资料也可以加下Python扣扣裙:3零4零5零799自己下载学习下。

1.安装 wxpython

pip3 install -U wxPython

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

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

2.入门程序 Hello World。

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

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

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

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

3.代码分析

先创建一个程序

app = wx.App()

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

win = app.Frame(None)

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

win.show()

最后运行主程序MainLoop()

app.MainLoop()

逻辑还是比较清晰的。

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

如何做一个记事本?

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

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

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

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

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

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

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

简单看一下离线文档和Demo

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

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

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

实现富文本编辑器

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

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

小结

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

接下来学习什么?

接下来我们将学习大部分编程语言必会技能:操作数据库。

关注程序员补给栈,评论 “Python基础” 获取wxPython的离线文档和官方200+Demo,并获取全部代码+PDF版电子书

原文始发于:Python如何开发桌面程序?Python基础教程,第十三讲,图形界面

主题测试文章,只做测试使用。发布者:开发工程师,转转请注明出处:http://www.cxybcw.com/2420.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code