python交互界面实例_如何5天学会一种 Python 图形界面框架

契子

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

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

有自己工作和学习需求的人,可能就可以直接拿来提高效率了,但是还是有很多人在掌握了 Python 的基础知识之后,急需一种能够带来及时正向反馈的模块来延续自己的编程之路。

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

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

  • Tkinter

  • PyQt5

  • PySide2

  • 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 等。需要了解:

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

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

最后

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

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

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

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

Python数据分析实例   

长按二维码,关注我的公众号

e04555a9b18cb318e3ee7521aa5371c7.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值