2023年Python GUI桌面应用开发该选哪个库

为什么需要python桌面开发
python是一门时下流行的计算机编程语言,在数据分析、深度学习、web开发等技术领域应用广泛,使用者众多,有很多基于python的命令行执行的框架与工具包极大方便了专业开发者。但是对于非专业的python开发者来说使用它们还是有一定的难度,图形用户界面接口(gui)程序可以方便非专业用户通过图形界面快捷方便的使用与操作相关的深度学习、数据分析等各种基于python开发的应用程序。python有很多优秀的gui库可以供开发者选择,作为开发者,python gui桌面应用程序开发到底该选哪个?
为什么是pyqt5
当前主流的python gui库主要有pyqt5、tkinter、pyside、pyqt5/pyside+qml、kivy、pysimplegui等,pyqt5是它们当中绝对的佼佼者,它基于著名的qt框架构建,拥有众多开发者社区与文档支持,支持跨平台的桌面应用程序开发。pyqt5的qdesigner组件支持拖拽方式构建gui界面,所见即所得。pyqt5的主要优点包括:
- 简单易学、学习曲线平缓
- 官方学习资料丰富、网络上海量开发者博文
- 支持跨平台、支持本地网络与数据库接口
- 丰富的ui组件
- 简单方便的事件响应方式
- 数据与ui分离的分层设计思想
- 元数据系统支持
- 可以部署到不同硬件支持包括开发板
‍5安装与测试
安装pyqt5非常简单,只需要一条命令行即可搞定。 win10系统下
pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simpleubuntu系统下pip3 install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple同时安装一下opencv-pythonpip install opencv-python==4.5.4.60 -i https://pypi.tuna.tsinghua.edu.cn/simple
第一个pyqt5界面程序
在开始创建第一个pyqt5界面应用程序之前,首先需要了解一下什么是窗口,pyqt5中qwedgit类是顶级的界面组件,可以作为窗口也可以作为其它子组件的父类,还可以作为面板,上面可以添加其它各种ui组件元素。pyqt5的应用通过qapplication类完成启动,支持命令行参数选择,作为主进程独立运行。qmainwindow作为桌面应用程序的容器,支持菜单栏、工具栏、状态栏,构建桌面应用程序,首先界面容器也该是qmainwindow实例。下面的例子是一个pyqt5简单桌面应用程序窗口,代码与注释如下:
from pyqt5 import qtwidgets
import sys
# 初始化app实例
app = qtwidgets.qapplication(sys.argv)
# panel = qtwidgets.qwidget()
# panel.show()
# 初始化桌面容器
main_win = qtwidgets.qmainwindow()
# 设置app窗口名称
main_win.setwindowtitle(第一个pyqt5程序)
# 设置窗口大小
main_win.setminimumsize(640, 480)
# 请求显示main_win.show()
# 加载窗口并启动app
app.exec()
运行结果如下:
系统化学习pyqt5+opencv开发桌面应用程序与嵌入式应用程序!  


日本白电市场反弹 引中国家电企业深思
OLED与LED的发光原理有什么不一样的
Arduino激光投影仪和控制应用程序的制作
全彩堆叠结构Micro LED,靠什么“打天下”?
2024年将有5款旗舰手机支持卫星通话
2023年Python GUI桌面应用开发该选哪个库
易采用CMOS技术集成的多功能电流模式滤波器的设计和仿真验证分析
深度探析达索系统DELMIAWORKS核心优势
汽车膨胀水箱液位传感器应用
BMS专题之BMS基础功能模块特性参数上海航芯解读
Protel 99 se之PLD设计
德赛电池:订单考验下的高质量交付保障
火花机加工原理及作用
光纤最大损耗值是多少?
基于RL78/G1H的sub-GHz无线解决方案已通过WI-SUN 联盟FAN认证
Pareal正式发布业界最薄VR眼镜 售价1999元
解答低频变压器该如何选择/是否越重越好
同步发电机并网三要素及条件
探究“防振抗压”的浮动板对板连接器
2023概伦电子技术研讨会:汇聚创新力量,技术引领未来