如何5天学会一种 Python 图形界面框架

契子

州的先生学习 Python 是在 2013 年先后,那时候的不只各类学习资料匮乏,还有 Python2 与 Python3 之间的斗争。程序员

从当年的程序员小众脚本语言,到现在火热的全民编程首选。Python 的生态逐渐丰富。适用于各个场景的第三方库也目不暇接地发布、迭代和完善。web

有本身工做和学习需求的人,可能就能够直接拿来提升效率了,可是仍是有不少人在掌握了 Python 的基础知识以后,急需一种可以带来及时正向反馈的模块来延续本身的编程之路。编程

一大部分的人选择经过学习 Python 的图形界面宽框架来让本身的 Python 学习之路显得不那么枯燥,写出来的小玩意儿可以看得见、点得着。让本身写的程序变成一个普通人认知里的程序软件,这带来的及时反馈和成就感能够说会不断激发学习的兴趣。浏览器

而在 Python 的生态里,图形界面开发框架说多很少,说少也很多,像主流的就有:微信

  • Tkinter多线程

  • PyQt5框架

  • PySide2ide

  • WxPython布局

  • Kivy性能

这些框架各有优缺点,好比 Tkinter 是 Python 的内置框架,不须要额外的安装,对 Python 初学者来讲,不用愁心各类模块的安装失败,缺点则是组件只能知足基本需求。

而 PyQt5PySide2WxPython 这些框架则组件丰富、功能强大;

至于 Kivy,则是一个全平台的图形界面开发框架,上述几个框架只能用于编写桌面图形界面程序,而 Kivy 则能够打包为 Windows、Linux、MacOS、Android、IOS 等全平台的软件。

显然将来还会有更多的 Python 图形界面框架诞生。

面对如此众多的框架,初学者不免会不知所措。生怕学了一个框架,之后却用不着。

州的先生在本身学习 Python 图形界面开发的过程,踩过了不少坑,也吸取了不少的经验。

在此借鉴 13 年看过的一篇文章《5 天学会一种 web 开发框架》,给出一个 5 天学会一种 Python 图形界面框架的经验,但愿能给初学者一丝帮助,让其能从繁杂的 API 和文档中解放出来,学会通常逻辑和核心结构,事半功倍地掌握和学习新的框架。

清单

基础篇

基础篇主要涉及一个框架的运行方式,要了解其程序经过哪一种方式来运行,其内容包括:

  • 如何运行一个基础的图形界面程序?

  • 若是实现一个主窗口程序的运行?

基础组件篇

在了解了一个图形界面应该如何运行以后,咱们就能够在其窗口内添加各类组件了,基础组件是一个任何一个图形界面都包含的模块,好比:

  • 单行文本输入框;

  • 按钮;

  • 文本;

  • 单选框;

  • 多选框;

  • 多行文本输入框;

  • 表格;

  • 列表;

也有一些复合型的组件,好比:

  • 选项卡;

  • 菜单栏;

须要了解:

  • 如何添加一个基本组件到主窗口?

  • 配合“交互篇”了解组件的事件反馈;

布局篇

一个图形界面要美观,其布局相当重要。咱们不可能把全部的组件杂乱无章地堆放在主窗口中。须要了解:

  • 框架中有哪几种布局方式?

  • 如何使用某种布局?

  • 如何将组件放置在布局中?

交互篇

交互是全部程序的灵魂,若是没有交互,写得再漂亮的图形界面也仅仅是一个图形界面而言。交互所实现的,是图形界面与工做代码之间的联系。这些交互包括各类组件的点击、输入、显示、隐藏等。

须要了解:

  • 基础的组件都有哪些事件(信号)能够被捕获?

  • 捕获的事件(信号)须要如何进行操做?

性能篇

对于图形界面程序来讲,一个程序启动以后就占用了一个进程,若是咱们后台有任务须要处理,好比某个按钮点击了以后,须要下载一个几百兆的文件,那么程序的主界面在下载任务执行的过程当中就会被阻塞。为了更好的性能,咱们须要了解:

  • 如何在框架中使用多线程?

  • 如何在框架中使用多进程?

  • 框架中的多线程、多进程如何进行通讯?

高级组件篇(可选)

高级组件表示,这个框架有,那个框架可能没有。好比:

  • 绘图

  • SQL

  • 浏览器

高级组件能够参照基础组件的点,查看文档了解其特性和使用方式;

样式篇(可选)

全部的图形界面框架都会为组件提供一个基础的样式,可是若是有定制化的需求,这些基础样式可能就知足不了要求。这时候就须要进行样式的调整,须要了解:

  • 框架是否支持自定义样式?

  • 框架支持哪些自定义样式的形式?

  • 如何使用这些自定义样式方法?

打包篇(可选)

程序写好以后,咱们还须要将其打包为特定平台上的程序包,好比 Windows 上的 exe、安卓上的 apk 等。须要了解:

  • 框架支持哪些打包方式;

  • 框架支持打包到哪些平台?

最后

其实,使用图形界面框架编写和开发图形界面程序,就像是搭积木。咱们先掌握好总体的结构,再根据须要将特定的积木拼接在一块儿,若是对某块积木的功能不甚了解,那么能够翻阅其说明文档以了解使用。

而非头痛医头、脚痛医脚,盲人摸象般的去使用框架。

按照上述的清单,掌握图形界面框架开发的总体和结构,剩下的,就交给时间和练习吧。

祝你们都能写出好看、强大的图形界面程序。


本文分享自微信公众号 - 州的先生(zmister2016)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索