在这个什么都看脸的时代,如何用 GUI 提高 python 程序的颜值?

0、前言

有不少初学者会问,Python 写的程序看起来好丑啊,只能在那个黑黑的框里运行吗?隔壁家的 JS 好像挺好看的,还能有酷炫效果呢……

其实呢,术业有专攻,Python 擅长的领域在后台服务器、数据处理、科学计算等方面,以及作为一种工具,搞定各种可以自动化的事情。做界面并不是它的优势项目。但即便如此,本可以靠实力的 Python,偏偏也能靠脸走出一片天。

从诞生伊始,就有许多优秀的 GUI 工具集整合到 Python 当中,这些优秀的 GUI 工具集,使得 Python 也可以在图形界面编程领域当中大展身手。而由于 Python 的流行,也从而产生了许多由 Python 结合那些优秀的 GUI 工具集编写的应用程序。

今天我们简单分享一些 Python 的图形化界面库及其相关资源,供广大学习者参考。

本文涉及的,也是现今主流的 Python 图形化界面主要有以下几种:

  1. Tkinter

  2. PyQt

  3. wxPython

  4. PyGTK

  5. PySide

  6. Kivy

因为微信文章中无法直接打开链接,所以文中的相关资源,你需要把地址复制到浏览器中打开。

1、Tkinter

Tkinter 内置于 Python。没错,Tkinter 姓赵。是与 Tk/Tcl 关系最密切的图形库,历史悠久、用户广泛。跨平台运行,支持 windows/macOS/Linux。由于内置,就不用考虑 Python 版本问题了,也算是一大优势。

下面是一些 demo:

简单的邮件发送客户端

http://blog.csdn.net/codinghome/article/details/38752581

用 Tkinter 编写交互日记系统

https://wp-lai.gitbooks.io/learn-python/content/1sTry/tkinter.html

Tkinter 学习资源:

中文教程易佰

http://www.yiibai.com/python/python_gui_programming.html

英文教程zetcode

http://zetcode.com/gui/tkinter/introduction/

官方文档py2

https://docs.python.org/2/library/ttk.html

官方文档py3

https://docs.python.org/3.5/library/tkinter.html

基于Tkinter的姻缘测试器

http://lib.csdn.net/article/python/47296

2、PyQt

PyQt 是 Qt 的 Python 版本,Qt 库是最强大的 GUI 库之一,PyQt 有超过620个类以及6000种函数。我想数据已经能表现PyQt的强大了吧!该库适用于 Python2 和 Python3,能在所有桌面平台运行。

demo:

某大神的仿虾米音乐界面

https://github.com/harry159821/XiamiForLinuxProject

某大神的仿网易云播放器

https://github.com/cosven/FeelUOwn

学习资源:

官方文档

https://riverbankcomputing.com/software/pyqt/intro

pyqt4 中文文档

http://www.qaulau.com/books/PyQt4_Tutorial/

pyqt4 英文教程

http://zetcode.com/gui/pyqt4/

pyqt5 英文教程

http://zetcode.com/gui/pyqt5/introduction/

有哪些颜值高的 PyQt/Qt 应用?- 知乎

https://www.zhihu.com/question/39607624

基于PyQt或PySide开发图形化界面

http://www.pythontab.com/html/2013/pythongui_1216/629.html

3、wxPython

wxPython 使用 C++ 编写,是目前比较流行的替代 Tkinter 的图形界面,比 Tkinter 重但又比 PyQt 轻。官网上赫然挂着醒目的一句话:

Why the hell hasn't wxPython become the standard GUI for Python yet?

wxPython 在主流的三大桌面平台都有不错的表现,但目前仅支持 Python2,Python3 需安装 wxPython_phoenix。

demo:

一个简单的记事本软件

http://www.cnblogs.com/lurenjiashuo/p/python-note-wxpython-demo.html

python+wxpython 写的音乐播放器

http://lib.csdn.net/article/python/43391

学习资源:

英文教程

http://zetcode.com/wxpython/introduction/

官方教程

https://www.wxpython.org/

wxpython in action

http://wiki.woodpecker.org.cn/moin/WxPythonInAction

Github 上大量的范例

https://github.com/ubbn/wxPython

https://github.com/wxWidgets/wxPython

4、PyGTK

PyGTK 基于 GTK+ 开发,它提供了一套全面的图形元素创建桌面程序。易用、适合快速原型,许多 Gnome 下的著名应用程序的 GUI 都是使用 PyGTK 实现的,比如 BitTorrent、GIMP

和 Gedit。跨桌面平台,但只能在 Python2 上使用,另外该库最后更新日期是 2012 年。

demo:

PyGTK做的Linux Server管理毕业设计

https://github.com/freetstar/Linux-Server-Management

学习资源:

英文教程

http://zetcode.com/gui/pygtk/

官方文档

http://www.pygtk.org/

pygtknotebook

https://github.com/majorsilence/pygtknotebook

5、PySide

基于 Qt 框架,类似于 PyQt。在 2009 年由 NOKIA 发布,现在由 Riverbank Computing 维护。跨桌面平台,甚至支持 Android 和 Symbian 。PySide 有 15 个模块,这些模块提供了强大的工具来处理 GUI,多媒体,XML 文档,网络或数据库。

demo:

python版弹幕姬

http://git.oschina.net/hnustLBS/Danmuku_Python

学习资源:

英文教程

http://zetcode.com/gui/pysidetutorial/

http://pythoncentral.io/intro-to-pysidepyqt-basic-widgets-and-hello-world/

官方教程

https://wiki.qt.io/Main

中文技术博客

http://www.cnblogs.com/goodhacker/p/3984377.html

http://www.cnblogs.com/ascii0x03/p/5495035.html

Github 上更多示例

https://github.com/pyside/Examples

https://github.com/shuge/Qt-Python-Binding-Examples

6、Kivy

Kivy 于 2011 年发布,现在依然在不断更新。它最大的优点是不但可以在桌面平台上运行,还可以在移动设备上运行,包括 Android、iOS,甚至是树莓派。而且,Kivy 可以看作许多模块的超集:许多知名的模块如 PyGame、SDL、GStreamer 都是 Kivy 的组成部分。Kivy 的 API更加高级、统一,方便使用。

游戏 Deflectouch

https://github.com/stocyr/Deflectouch/

游戏 FishLife

https://github.com/Zogg/FishLife

学习资料:

官网

https://kivy.org/docs/gettingstarted/intro.html

源码

https://github.com/kivy/kivy

更多范例

http://www.open-open.com/lib/view/open1408344378553.html

7、后记

以上就是 Python 常见的 GUI 库。最后做个小调查,以上几个,你正在使用的、打算使用的、或看着比较顺眼 GUI 是哪一个?得票较多的,我们将继续做更深入的介绍。


(0)

相关推荐

  • Python Web开发哪些模块好用?这几类必知!

    关于Python Web开发和图形用户界面的模块有哪些?今天小编通过这篇文章为大家整理了一些常用的模块,我们一起来看看吧. Web开发: 1. Requests:Python内置模块(urllib和u ...

  • Python 常用的GUI框架都有哪些?

    Graphical User Interface,简称 GUI,又称图形化用户接口,所谓的GUI编程,指的是用户不需要输入代码指令,只通过图形界面的交互就可以操作软件功能.今天番茄加速就来说说Pyth ...

  • 用Python创建你第一个GIS程序[2]:图形用户界面

    前言:给程序创建一个可视化的操作界面是一个基本的需求,也是软件的三大组成部分之一.清晰明了的操作界面能帮助用户正确操作程序,同时也传递出设计者的开发理念和解决问题的方式. 什么是 GUI? GUI(G ...

  • 用 Python 构建漂亮的 GUI

    用 Python 构建漂亮的 GUI Python入门与进阶 昨天 转载:https://www.jianshu.com/p/30c74a6eb145 Python入门与进阶 Python入门与进阶涵 ...

  • 弟弟因《花千骨》走红,哥哥出道多年都是演配角,看脸的时代

    现在的娱乐圈,可以说是看脸的时代,如果没有高的颜值,想在娱乐圈走红,是比较难的.如果没有高颜值,即使付出比别人多倍的努力,也不一定会比别人红.当然,也有人不靠颜值也能够走红的强大存在,但却是不多的. ...

  • 大家都知道,现在是一个看脸的时代,回农村...

    大家都知道,现在是一个看脸的时代,回农村建房也一样.很多人把房子看成自己的第二张脸,房子建的美观大气,自己脸上也更有光.今天给大家推荐6套高颜值别墅图纸,建成以后绝对能成为你们村一道亮丽的风景线,让你 ...

  • 看脸的时代:“容貌焦虑”大行其道,你正在被他人操控“欲望”

    每天耕耘最有趣.最实用的心理学 好女不过百.白幼瘦.蚂蚁腰.尖下巴...... 在这个很容易受到互联网热潮影响的时代,我们似乎总会跟着某种声音走,一些审美标准在网上一度被强化,仿佛谁没有跟上这种审美指 ...

  • 在这个看脸的时代 , “容貌焦虑”怎么破

    肖婷婷 心病还要心药医.破解"容貌焦虑"最关键的是要调整好被扭曲误导的思维认知. 靠才华才能获得更好的未来 虽然容貌焦虑给不少大学生带来了困扰,但是,理性仍旧是他们面对容貌焦虑时呈 ...

  • 【心理学科】在这个看脸的时代,你是否有外貌焦虑?

    让知识回家 一站式收藏您的阅读与创作 [心理学科] 在这个看脸的时代,你是否有外貌焦虑? 文/王红艳     在这个看脸的时代,每个人都非常在意自己的外貌,在外貌焦虑下,有很多人开始整容,选择医美,就 ...

  • 在这个看脸的时代,你是否有外貌焦虑?

    在这个看脸的时代,每个人都非常在意自己的外貌,在外貌焦虑下,有很多人开始整容,选择医美,就连00后都开始了变脸,医美变得越来越普遍,也有人说人无完人,健康的状态就是最美的,每个人都有不同的观点,年轻人 ...

  • 在这个看脸的时代

        在这个看脸的时代,你能拒绝以貌取人吗?人们常常在说不要以貌取人,可人们真的能做到这点吗?实验证明,你对对方的第一印象是通过眼睛观察得出的,所以人们不可能完全做到这点.幼儿园的孩子喜欢漂亮的老师 ...

  • 伍六七帅哥排行!首席竟然不是第一名?看脸的时代很低级

    阿七颜值只能排第二?单看脸的话青凤毫无疑问是最帅的

  • 被《和平饭店》陈数圈粉,看中生代女演员如何在看脸的时代突围

    前阵子给吴君如做采访,谈及做导演,她说自己年龄大了,颜值越来越低,不想脱离影视行业,转幕后是迟早的事. 这是多数女演员都不得不承认的现实.影视圈是个看脸的行业,做演员吃的是青春饭,随着年龄渐长,从妈妈 ...