python gui开发框架,python最好用的gui工具
Python Tkinter教程(GUI图形界面开发教程):http://c.biancheng.net/python/tkinter/
PyQt5教程:http://code.py40.com/face
作为Pyhon开发者,我们迟早都会遇到图形用户界面(GUI)应用开发任务。目前市场上有大量的Python GUI开发框架可供选择,Python wiki GUI programming给出了30多种跨平台的框架方案,包括像Pyjamas这样的跨浏览器web开发框架。
如何从众多的Python GUI框架和工具包中选择,是一个令人头疼的问题。下面推荐四个开发工具包(Gtk、Qt、tk和wxwidgets)以及其他优秀的框架,供开发者参考(除了PyQt,一切完全免费):
推荐:wxpython,pyqt5,Gtk,tk
1.图形界面
Tkinter好像是和tcl同时开发的接口库。Tkinter是python的标准gui库,也是开源的产物。Tkinter可用于windows/linux/unix/macintosh操作系统,显示风格本地化。Tkinter用起来很简单,python自己的IDLE就是用它写的。另外tkinter的扩展集pmw和Tix都比较强大,但是tkinter是最基础的。我觉得tkinter是用python做gui开发最基础的知识,所以这个环节一定要学。也许你在以后的开发中并不经常使用tkinter,但是对于一些小应用还是很有用的,开发速度也很快。
Tkinter(也叫Tk接口)是Tk图形用户界面工具包的标准Python接口。Tk是一个轻量级的跨平台图形用户界面(GUI)开发工具。TKInters和TKInters可以在大多数Unix平台、Windows和Macintosh系统上运行。
Tkinter由一定数量的模块组成。TKInters位于名为_ TKInters的二进制模块中(早期版本名为TKInters)。Tkinter包含一个Tk的低级接口模块,应用程序级别的程序员不直接使用它。它通常是共享库(或DLL),但在某些情况下,它是由Python解释器静态链接的。
2.WxPython
WxWidgets应该算是近年来比较流行的GUI跨平台开发技术。WxWidgets有不同版本的应用,包括C和basic,现在已经很好的移植到python上了。Wxpython在功能上优于tkinter。它提供了200多个类,具有面向对象的编程风格,其设计框架类似于MFC。对于大型GUI应用,wxPython仍然有很强的优势。Boconstructor可以帮助我们快速直观地构建wxwidgets界面。
wxPython但是作为最古老、最流行的Python GUI开发框架之一,WxPython很有名,不得不提。WxPython基于wxWidgets,是一个用c编写的跨平台GUI库,除了标准的对话框,还提供了2D路径绘制API,支持多种文件格式和文本编辑、文字处理小部件。
WxPython是一个优秀的Python语言GUI图形库,它允许Python程序员轻松地创建一个完整的GUI用户界面,并带有完整的功能键。WxPython是作为一个优秀的跨平台GUI库wxWidgets的Python包和Python模块提供给用户的。
就像Python和wxWidgets一样,wxPython是一款开源软件,具有出色的跨平台能力,可以运行在32位windows、大多数Unix或类Unix系统以及Macintosh OS X上。
3.河岸计算
Qt也是一个开源的GUI库,有300多个类库,5700多个函数。qt也适用于大规模的应用,其自带的Qt设计器让我们可以轻松构建界面元素。Qt是c编写的跨平台开发框架,如果你的应用是完全开源的,你可以免费使用Qt,否则需要购买商业许可。Qt已经存在很久了,曾经属于诺基亚。Qt作为一个非常全面的工具代码库和API,已经被大量行业广泛采用,覆盖了包括移动在内的多个平台。您设备中使用的卫星导航应用程序的图形用户界面通常由Qt开发。
PyQt是Qt库的Python版本。PyQt3支持Qt1至Qt3。PyQt4支持Qt4。它最早发布于1998年,但当时叫PyKDE,因为SIP和PyQt一开始就没有分开。PyQt是用SIP写的。PyQt提供GPL版本和商业版本。
现在最新的pyQT是PYQT 5:pip install PyQt5。
4.pyGtk
Gtk是linux下Gnome的核心开发库。功能性很强。值得注意的是,gtk的显示风格在windows平台下并没有特别的本地化。不过他带来的glade界面设计器还是可以帮你省不少事的。
GTK允许你用Python轻松创建带有图形用户界面的程序。底层GTK提供了各种视觉元素和功能。如果有必要,你可以开发运行在GNOME桌面系统上的完整软件。
GTK是真正的跨平台,不需要修改就可以稳定运行在各种操作系统上,比如Linux、Windows、MacOS等。除了简单易用和快速原型开发能力,PyGTK还具有一流的处理本地化语言的独特功能。
5.脚本语言
你试过用python访问java类库吗?然后用jython。Jython其实可以看作是另一个python开发环境,基于java,但是大多数CPython调用jython。你可以像java一样在jython环境下通过python的语法调用java语言,这真的很酷。
6.Pywin32 (MFC)
Windows Pywin32允许使用PYTHON开发与VC形式相同的win32应用程序。代码风格可以类似于win32 sdk或MFC。这是你的选择。如果你还是不放弃python下vc那样的代码流程,那么这是一个不错的选择。
7.PythonCard
PythonCard实际上是wxPython的重新封装。不过这个包更简单,比wxPython更直观,使用起来也更简单。
8.达波
还是一个基于wxpython的重新打包库,没有用过,也不太了解。它提供数据库访问、业务逻辑和用户界面。
达波是一个跨平台的应用程序开发框架,基于wxpython的重新打包库。它提供数据库访问、业务逻辑和用户界面。(项目地址:https://dabodev.com/)
9.阿尼基
通过底层api访问其他工具集,比如tkinter、wxpython、qt,这些工具集没有详细使用过。
10.国际野生生物摄影年赛展
MFC风格的GUI开发库,代码风格类似于MFC,然而,你仍然可以使用这个库来开发Gui应用程序,而不用担心平台移植。她也是跨平台库。
11.动态语言
如果你想在。net,那么Ironpython就是你的选择。与jython类似,他也支持标准的Python模块,但也增加了对。网络图书馆。你也可以把它理解为另一种python开发环境。可以用python语法来开发。net应用程序非常方便,这听起来真的很有趣。
pyui4win
用python快速开发华丽的桌面程序pyui4win。
Pyui4win是一个开源的接口库,具有自绘制技术。支持c和python。有了它,可以轻松实现QQ、360安全卫士这样华丽的界面。再者,pyui4win是一个所见即所得的界面设计器,C开发者和python开发者都可以直接使用。
设计工具来设计接口,不管接口是如何生成和运行的,都可以大大缩短接口开发时间。在pyui4win中,界面甚至可以完全交给美工,开发人员只需处理业务逻辑,从而将开发人员从繁杂的界面处理中彻底解放出来。
13. Kivy
Kivy基于OpenGL ES 2,支持Android和iOS平台的原生多点触控。让可以用相同源代码创建的程序跨平台运行。这个框架是事件驱动的,基于主循环,非常适合开发游戏。从小部件到动画的任务的理想选择。如果你想开发跨平台的图形应用,或者只是需要一个强大的跨平台图形用户开发框架,Kivy是个不错的选择。(项目地址:https://kivy.org/#home)
Kivy是一个开源工具包,它使得用相同源代码创建的程序能够跨平台运行。它主要关注创新用户界面的开发,如多点触控应用。Kivy还提供了一个多点触控鼠标模拟器。目前支持的平台包括:Linux、Windows、Mac OS X和Android。
Kivy具有处理动画、缓存、手势、绘图和其他功能的能力。它还有许多内置的用户界面控件,如按钮、相机、表格、滑块和树控件。
总之,介绍了这么多,我个人的建议是:
如果你是java用户,那么你可以使用jython。除了python的模块函数和语法,你还能找到很多java的影子。如果你是. net用户,那就用ironpython。如果熟悉Visual C,可以用MFC、WPY或者wxPython,当然更推荐wxPython。当然,我觉得tkinter是每个以前搞C的人都应该知道和学习的GUI库,因为它很轻便,小的应用用它就能搞定,大一点的应用用pyGtk,pyQt,WxPython或者PythonCard就能搞定。这样既能注意知识的衔接,又能快速开发软件。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。