美文网首页
Python基础教程,第十三讲,图形界面

Python基础教程,第十三讲,图形界面

作者: 程序员补给栈 | 来源:发表于2019-01-23 00:19 被阅读13次

    当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是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

    image

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

    2.入门程序 Hello World。

    image

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

    image

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

    3.代码分析

    先创建一个程序

    app = wx.App()

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

    win = app.Frame(None)

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

    win.show()

    最后运行主程序MainLoop()

    app.MainLoop()

    逻辑还是比较清晰的。

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

    如何做一个记事本?

    image

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

    image

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

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

    image

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

    简单看一下离线文档和Demo

    image

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

    image

    富文本编辑器

    image

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

    小结

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

    接下来学习什么?

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

    关注公众号,回复 Python基础 下载全部代码+PDF版电子书 同时获取wxPython的离线文档和官方Demo。

    image

    相关文章

      网友评论

          本文标题:Python基础教程,第十三讲,图形界面

          本文链接:https://www.haomeiwen.com/subject/dhudjqtx.html