设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 9500|回复: 0
打印 上一主题 下一主题

【GUI】谁是Python的颜值担当?

[复制链接]

169

主题

1

好友

733

积分

版主

Rank: 7Rank: 7Rank: 7

跳转到指定楼层
楼主
发表于 2017-2-20 21:50:07 |只看该作者 |倒序浏览
本帖最后由 江水滔滔 于 2017-2-20 21:52 编辑

0、前言

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

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

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

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

本文涉及的,也是现今主流的 Python 图形化界面主要有以下几种:
  • Tkinter
  • PyQt
  • wxPython
  • PyGTK
  • PySide
  • Kivy


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

1、Tkinter

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

下面是一些 demo:

简单的邮件发送客户端
[url=]http://blog.csdn.net/codinghome/article/details/38752581[/url]
a.webp.jpg

用 Tkinter 编写交互日记系统
[url=]https://wp-lai.gitbooks.io/learn-python/content/1sTry/tkinter.html[/url]
b.webp.jpg

Tkinter 学习资源:

中文教程易佰
[url=]http://www.yiibai.com/python/python_gui_programming.html[/url]
英文教程zetcode
[url=]http://zetcode.com/gui/tkinter/introduction/[/url]
官方文档py2
[url=]https://docs.python.org/2/library/ttk.html[/url]
官方文档py3
[url=]https://docs.python.org/3.5/library/tkinter.html[/url]
基于Tkinter的姻缘测试器
[url=]http://lib.csdn.net/article/python/47296[/url]

2、PyQt

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

demo:

某大神的仿虾米音乐界面
[url=]https://github.com/harry159821/XiamiForLinuxProject[/url]
c.webp.jpg

某大神的仿网易云播放器
[url=]https://github.com/cosven/FeelUOwn[/url]
d.webp.jpg

学习资源:

官方文档
[url=]https://riverbankcomputing.com/software/pyqt/intro[/url]
pyqt4 中文文档
[url=]http://www.qaulau.com/books/PyQt4_Tutorial/[/url]
pyqt4 英文教程
[url=]http://zetcode.com/gui/pyqt4/[/url]
pyqt5 英文教程
[url=]http://zetcode.com/gui/pyqt5/introduction/[/url]
有哪些颜值高的 PyQt/Qt 应用?- 知乎
[url=]https://www.zhihu.com/question/39607624[/url]
基于PyQt或PySide开发图形化界面
[url=]http://www.pythontab.com/html/2013/pythongui_1216/629.html[/url]

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:

一个简单的记事本软件
[url=]http://www.cnblogs.com/lurenjiashuo/p/python-note-wxpython-demo.html[/url]
e.webp.jpg

python+wxpython 写的音乐播放器
[url=]http://lib.csdn.net/article/python/43391[/url]
f.webp.jpg

学习资源:

英文教程
[url=]http://zetcode.com/wxpython/introduction/[/url]
官方教程
[url=]https://www.wxpython.org/[/url]
wxpython in action
[url=]http://wiki.woodpecker.org.cn/moin/WxPythonInAction[/url]
Github 上大量的范例
[url=]https://github.com/ubbn/wxPython[/url]
[url=]https://github.com/wxWidgets/wxPython[/url]

4、PyGTK

PyGTK 基于 GTK+ 开发,它提供了一套全面的图形元素创建桌面程序。易用、适合快速原型,许多 Gnome 下的著名应用程序的 GUI 都是使用 PyGTK 实现的,比如 BitTorrent、GIMP
和 Gedit。跨桌面平台,但只能在 Python2 上使用,另外该库最后更新日期是 2012 年。

demo:

PyGTK做的Linux Server管理毕业设计
[url=]https://github.com/freetstar/Linux-Server-Management[/url]
g.webp.jpg

学习资源:

英文教程
[url=]http://zetcode.com/gui/pygtk/[/url]
官方文档
[url=]http://www.pygtk.org/[/url]
pygtknotebook
[url=]https://github.com/majorsilence/pygtknotebook[/url]

5、PySide

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

demo:

python版弹幕姬
[url=]http://git.oschina.net/hnustLBS/Danmuku_Python[/url]
h.webp.jpg

学习资源:

英文教程
[url=]http://zetcode.com/gui/pysidetutorial/[/url]
[url=]http://pythoncentral.io/intro-to-pysidepyqt-basic-widgets-and-hello-world/[/url]
官方教程
[url=]https://wiki.qt.io/Main[/url]
中文技术博客
[url=]http://www.cnblogs.com/goodhacker/p/3984377.html[/url]
[url=]http://www.cnblogs.com/ascii0x03/p/5495035.html[/url]
Github 上更多示例
[url=]https://github.com/pyside/Examples[/url]
[url=]https://github.com/shuge/Qt-Python-Binding-Examples[/url]

6、Kivy

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

游戏 Deflectouch
[url=]https://github.com/stocyr/Deflectouch/[/url]
i.webp.jpg

游戏 FishLife
[url=]https://github.com/Zogg/FishLife[/url]
j.webp.jpg

学习资料:
官网
[url=]https://kivy.org/docs/gettingstarted/intro.html[/url]
源码
[url=]https://github.com/kivy/kivy[/url]
更多范例
[url=]http://www.open-open.com/lib/view/open1408344378553.html[/url]

7、后记

以上就是 Python 常见的 GUI 库。你正在使用的、打算使用的、或看着比较顺眼 GUI 是哪一个?


Crossin的编程教室
编程世界的新手村
加群请联系微信:crossin11
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-24 05:57 , Processed in 0.030228 second(s), 29 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部