{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

Python如何进行GUI桌面开发?有哪些不错的库可以推荐?

陈伟陈伟 回答10 收藏1
问题描述:开发一个小型桌面项目,就会简单的python。
收藏问题

10条回答

genedna

genedna

回答于2022-06-22 19:40

Python进行GUI开发的库其实很多,下面我简单介绍几个不错的库,感兴趣的朋友可以自己尝试一下,实验环境win10+python3.6+pycharm5.0,主要内容如下:

tkinter

这个就不用多说了,python自带的GUI开发标准库,对于开发小型简单的应用来说,完全可以了,开源、跨平台,使用起来非常方便,下面我简单测试一下,主要代码如下:

点击运行程序,效果如下,一个窗口一个Label标签:

easygui

这个是基于tkinter的一个窗口GUI库,可以快速创建窗口对话框,包括常见的登陆对话框、注册对话框等,下面我简单介绍一下这个库的安装和使用:

1.首先,安装easygui,这个直接在cmd窗口输入安装命令“pip install easygui”就行,如下:

2.安装完成后,我们就可以直接编写代码进行测试了,主要代码如下,非常简单:

点击运行这个程序,效果如下:

kivy

这是一个跨平台的GUI应用程序开发库,可以用来开发安卓、苹果应用,一套程序,可以处处运行,下面我简单介绍一下这个库的安装和使用:

1.首先,安装kivy,这个直接按官方教程安装就行,如下:

2.安装完成后,就可以直接编写代码进行测试了,主要代码如下,非常简单:

点击运行程序,效果如下,这里你可以将其打包为手机应用,安装到手机上:

wxpython

这也是一个免费、跨平台的Python GUI开发库,相比较前面的tkinter来说,功能更为强大,控件也更多,下面我简单介绍一下这个库的安装和使用:

1.首先,安装wxpython,这个也直接在cmd窗口输入命令“pip install wxpython”就行,如下:

2.安装完成后,我们就可以直接编写相关代码进行测试了,主要代码如下,非常简单,一个简单的文本编辑器:

点击运行这个程序,效果如下:

pyqt

这个Qt的一个Python接口库,借助于Qt强大的用户界面,Python也可以快速开发出GUI程序,组件更多,也更方便,只要你有一定的Qt基础,很快就能掌握这个库的使用,下面我简单介绍一下这个库的安装和使用:

1.首先,安装pyqt,这个直接在cmd窗口输入安装命令“pip install pyqt5”就行,如下,安装需要稍微等待一会儿:

2.安装完成后,我们就可以直接编写代码进行测试了,如下,一个简单的计算器:

点击运行这个程序,效果如下:

至此,我们就介绍完了这5个Python GUI库。总的来说,这5个库使用起来都非常不错,如果你的应用界面比较简单,功能要求不高,可以选择tkinter和easygui,如果界面比较复杂,功能要求比较复杂,可以考虑使用wxpython或pyqt,当然,你也可以使用其他GUI库,像pygame等,根据实际项目需求而定,网上也有相关资料和教程,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

评论0 赞同0
  •  加载中...
songjz

songjz

回答于2022-06-22 19:40

这是一个什么都需要看脸的年代,颜值高的外观无疑给你无形中加分很多。那么Python进行GUI桌面开发,都有哪些不错的界面库呢?请继续往下看:


1、PyQT

QT,相信很多玩C++的朋友都听说过它的大名,一款跨平台界面开发库,官方文档齐全、API设计优雅、跨平台支持。而PyQT就是它的Python版本,同时兼容Python2和Python3,可以在所有的桌面平台运行。

多说无益,举个例子,下图是某大神高仿的网易云音乐的开源项目「FeelUOwn」,使用PyQT开发而成,号称是一个符合 Unix 哲学的跨平台的音乐播放器。目前该作品已在github上开源。

2、Tkinter

内置于Python模块,可谓土生土长的亲儿子。其最大的优势就是在于我们不必去考虑兼容Python的版本,无需我们多带带安装。

下面来几行简单的测试代码:

运行效果如下,有没有很容易上手呢?

3、wxPython

一个用于创建桌面GUI应用程序的跨平台工具包,旨在替代Tkinter,比PyQt更加轻量级。话不多说,直接上代码:

简单的几行代码,即可完成一个简单的记事本软件,这种带图形界面的程序,简直是那些整天面对黑框框C程序员的梦想啊,运行效果如下图:


最后补充一点,术业有专攻,GUI桌面开发,真的不是Python擅长之处啊,Python 擅长的领域在爬虫、人工智能、数据处理、科学计算等方面,我们应该根据项目需求来选择最合适的开发语言。

评论0 赞同0
  •  加载中...
fuchenxuan

fuchenxuan

回答于2022-06-22 19:40

首先,python的桌面开发GUI有很多,掌握一种就可以进行桌面开发。

其次,你的问题有2个,我这里只能回答第2个问题,第1个问题需要认真学习自己喜欢的一种相关教程,篇幅较长,暂时不介绍了。


python的桌面GUI有:

第1个:tkinter库:

=============

推荐级别:★★★☆☆

python3的内置GUI库,注意tkinter的版本关系,功能强大。适合中等程序。


第2个:pyqt和PySide2:

==================

推荐级别:★★★☆☆

功能强大,但学起来很繁琐,可以看看我的这篇文章。适合大型程序。

链接:《PySide2:一个基于强大Qt(ta的亲儿子) 的Python的GUI库初识》


第3个:appJar库:

==============

推荐级别:★★★★☆

链接:《自称是Python中GUI的终极工具:appJar》,适合小程序。


第4个:PySimpleGUI库:推荐库

===================

推荐级别:★★★★★

链接:《python3的PySimpleGUI库的介绍、安装、学习》


第5个:EasyGUI库:

===============

推荐级别:★★★★☆

链接:《EasyGUI是python的一个超级简单的GUI工具介绍(一)》


第6个:Toga库:

============

推荐级别:★★☆☆☆

链接:《ucloud笔记本+深度操作系统:Toga安装(Python 原生GUI 工具包)》

据说强大,用的人不多。


第7个:Eel库:

===========

推荐级别:★★★★★

链接:《Python的一个轻量级桌面GUI开发第三方库:Eel》

强大且推荐。


第8个:Guizero库:

==============

推荐级别:★★★★☆

链接:《Python的GUI的guizero库(基于tkinter)介绍(一)》


第9个:Flexx库:

=============

推荐级别:★★★☆☆

链接:《Flexx:一个强大的、跨平台的、纯Python开发的Web的GUI》


第10个:TraitsUI库:

===============

推荐级别:★★☆☆☆

链接:《TraitsUI:一款python的轻松制作用户界面GUI》


第11个:Pyface库:

===============

推荐级别:★★★★☆

链接:《Pyface库:一个基于pyqt、pyside、wx且简化的python的GUI》

以上都是我今日我们的文章介绍过的,一秒入门。


当然还有据说很强大,我觉得不好的GUI库:

WxPython库

Kivy库

Dabo库

原因:竟然不支持python3.8,所以我没试过,当然觉得不好,更新也不及时,差评!哈哈哈。

评论0 赞同0
  •  加载中...
niuxiaowei111

niuxiaowei111

回答于2022-06-22 19:40

推荐使用pyecharts,pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 pyecharts 生成的图可视化效果非常棒。可以生成饼图、柱状图、热力图、极坐标图、雷达图、仪表盘、散点图、地理坐标系、地图…,我研究过一段时间,适用于数据可视化,特别是制作可视化大屏。




评论0 赞同0
  •  加载中...
shinezejian

shinezejian

回答于2022-06-22 19:40

别折腾,老司机告诉你,用PyQt最好,资料丰富,社区完善,遇到问题好处理

评论0 赞同0
  •  加载中...
FWHeart

FWHeart

回答于2022-06-22 19:40

业余Py程序员……用Py做各种奇怪的脚本来减轻工作负担,之前收集过GUI库一堆,列举额如下(我自己懒,一般用Tkinter和PyQT):

1. Tkinter

Tkinter是一个可以用Python做GUI的工具包。


2. Flexx

许多Python GUI库都是用其他语言编写的库,例如“wxWidgets”,“libavg”。

但是Flexx是用Python创建的。使用Web技术,所以有浏览器的地方Flexx都可以run起来。

3. CEF Python

该框架面向Windows,MAC OS和Linux,基于Google Chromium。它的重点主要是促进嵌入式浏览器在第三方应用程序中的使用。

4. Dabo

这个框架的超越目标是WxPython。

Dabo是一个跨平台的应用程序开发框架。

5. Kivy

Kivy基于OpenGL ES 2。(口碑不错,但是我没用过,抽空试试)

该框架是事件驱动的。

据说非常适合开发游戏。

6. Pyforms

Pyforms是一个用于开发GUI应用程序的Python 2.7 / 3.x跨环境框架。

7. PyGObject

使用PyGObject,您可以为GNOME项目编写Python应用程序。

8. PyQt

Qt是一个跨平台的框架。它是用C++编写的。这是一个非常全面的图书馆。它包括许多工具和API。它广泛用于许多行业。它涵盖了很多平台。

9. PySide

“PySide”是“Qt”的重新打包。

与PySide的不同之处在于PyQt是可商业使用的。

10. PyGUI

PyGUI针对Unix,Macintosh和Windows平台。

这个MVC框架的重点是尽可能轻松地融入Python生态系统。

11. libavg

它是第三方库。

它是用C ++编写的。

12. PyGTK | PyGObject

由新西兰坎特伯雷大学的Greg Ewing博士开发的MVC框架专注于尽可能简单地符合Python生态系统。

13. wxPython

一个用“C++”编写的跨平台GUI工具包,名为“wxWidgets”,wxPython是它的衍生。

评论0 赞同0
  •  加载中...
impig33

impig33

回答于2022-06-22 19:40

PyQt比较强大,可以做出扁平化风格,表格可以结合pandas使用,制图结合matplotlib、pyqtgraph使用。

评论0 赞同0
  •  加载中...
aboutU

aboutU

回答于2022-06-22 19:40

界面的开发,python中比较实用的我感觉有两个库吧

tkinter

tkinter在python中算是组简易的界面的开发的库了,它需要设计的涉及的知识点 并不算是很多,经过简单的学习之后,基本上很快就可以做出一个简易的界面了,但是功能相对的就比较的简单了,想要更加复杂的,建议你学下下面的这个库

PYQT5

这个PYQT是非常出库的一个库,你肯定听说过QT,他是C语言编写的,运行速度功能,使用说明都非常的全面了,而PYQT就是将QT的python化,所有的功能都被完美的衔接过来了,想要制作更大的程序的话的,建议你还是直接上手PYQT。

评论0 赞同0
  •  加载中...
AnthonyHan

AnthonyHan

回答于2022-06-22 19:40

python就玩gui就学两个库就行了。

一个是pysimplegui,应对简单gui需求,结构语法都很简单.它是一套api和外观下面套了tk,wx,qt三种底层实现分别对应的pysimplegui,pysimpleguiwx,pysimpleqt.


二个就是pyqt,非简单需求的直接上它了


不推荐大多数都会提的tk和wx,原生tk和ttk过弱且不全面,wx支持不稳定,断更很多年,最近才续上。

评论0 赞同0
  •  加载中...
luxixing

luxixing

回答于2022-06-22 19:40

现在主流的gui库有两种实现方式:

1、基于浏览器的webview 形式的ui,使用js html构建图形界面,和python交互,这种有eel pywebview之类,不过要求会前端知识,打包的程序里面可能要包含浏览器。

2、直接本地化的图形库,比如QT tkinter easygui 之类。这种我推荐appjar 这个库,是基于tkinter库封装的更简单的库,楼主可以试一试

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<