python的GUI选择什么方案比较好?

消渴止咳贴


Python GUI方案选择,这个要看实际项目需求了,如果只是简单、最基本的功能,不考虑界面布局和美观程度,可以使用Python自带的GUI标准库tkinter,如果功能复杂一些,可以使用wxPython或PyQt,下面我分别简单介绍一下:

01

tkinter

这是Python自带的一个GUI标准库,轻便灵活,易于学习,主要用于简单的桌面开发,基本组件和容器可以完全满足日常开发需求,但在界面布局和美观程度上有一定欠缺,而且中文参考资料太少,如果你只是实现基本功能,个人使用的话,可以使用一下这个库,非常不错:

02

wxPython

这是一个非常优秀的Python GUI开发库,免费、开源、跨平台,在早期GUI开发中,有着较高的使用率和欢迎度,相比较tkinter来说,wxPython提供了更为丰富的组件和容器,因此在界面布局和美观程度上更胜一筹,而且代码量更少、更简洁,如果你需要开发一个功能复杂的应用,可以考虑一下这个库,非常不错,也易学习:

03

PyQt

这是一个功能强大的Python GUI开发库,基于Qt接口封装而来,因此组件和容器更多,也更为丰富,借助于Qt强大的可视化功能,Python也可以直接拖拽控件设计界面,开发效率也更为快捷,如果你本身具有一定的Qt基础,那么可以使用一下这个库,非常不错,尤其适合于功能复杂的中大型应用:

目前,就分享这3个不错的Python GUI开发库吧,对于日常使用来说,完全够用了,至于方案的选择,这个要看实际项目和个人需求了,如果只是简单功能、个人应用,可以使用tkinter,复杂一些可以使用wxPython或PyQt,资料更为丰富、健全,网上也有相关教程,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。


小小猿爱嘻嘻


Python真的不适合用来做桌面开发,不仅仅Python不适合,Java和PHP也不适合用来做桌面开发。假设你要开始一个新项目,我还是建议采用C++/C#/Swift等成熟的解决方案,需求不高你甚至都可以使用Electron这样偏前端的解决方案。

早些年可能大家都对Python有误解,结果慢慢发现Python可不是个脚本语言这么简单,网络爬虫、数据分析、Web后端、人工智能等等,当然也包括今天要说的GUI编程。正题开始之前,还是要再强调一遍,Python不是不能做桌面开发,只是桌面开发确实不是Python的强项。

PyQt

QT毫无疑问是现在最强大的也最成熟的C++桌面解决方案之一,PyQt是QT库的python版本,PyQt3支持Qt1到Qt3,而PyQt4支持了QT4。PyQt最开始叫做PyKDE,最开始SIP和PyQt没有分离,目前PyQt分为GPL开源版本、商业版本两种版本。

图形开发包wxPython

wxPython是Python比较成熟的GUI图形库,而且是一个能够创建功能完整,而且功能非常全面和成熟的GUI图形界面库。

wxPython的原理是将开源的图形GUI库wxWidgets和python进行模块封装,提供给开发者一个成熟的桌面GUI图形界面开发工具库。因为来源于开源,当然跟wxWidgets和python一样,wxPython也是开源软件,而且具有非常强的跨平台能力,能够在32和64位操作系统运行,支持在Windows、macOS、Linux、Unix等众多操作系统平台上运行。

Tkinter

Tkinter也是一个非常成熟的桌面GUI解决方案,Tk接口是用户界面工具包标准Python接口 ,Tk是一个轻量级、跨平台的成熟的桌面开发解决方案。同样跟wxPython一样,Tkinter在Unix、Linux、Windows、macOS上几大操作系统平台都能跟运行。

Tkinter通过一定数量模块构成的,Tkinter存在一个_tkinter二进制模块中 。包含了对Tk低级接口的模块,不过这些低级接口不能够直接提供给应用开发者直接使用,这些通常是一个共享DLL库,但是能够被Python解释器静态链接。

除了上面这三个图形界面工具库,kivy也是开源图形界面库,尤其是能够做多点触控应用程序的开发,拥有多点触控的鼠标模拟器,Linux、macOS、Windows、Android等操作系统平台都能使用。另外一个是Flexx,一个非常纯粹的Python图形开发工具包,核心是通过Web技术渲染,能够和HTML相处很好,你只要拥有Python环境和浏览器就可以很好的进行开发。

当然最后还是要说那句话,Python真的不适合做桌面开发,我建议你还是使用C++、C#、Swift等编程语言进行桌面开发,这些都是证明的非常好的GUI解决方案,假设你对于性能要求不是很高,现在基于前端的Electron解决方案使用越来越多,Visual Studio Code、GitHub、Slack、Xmind ZEN等824款桌面软件都基于Electron,因此Electron也是一个不错的选择。


本文为字节跳动签约作者EmacserVimer悟空问答原创文章,未经允许转载、抄袭必究!


分享到:


相關文章: