社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

OpenCV学堂 • 2 年前 • 416 次点击  

点击上方蓝字关注我们

微信公众号:OpenCV学堂

关注获取更多计算机视觉与深度学习知识

为什么需要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的主要优点包括:
  1. - 简单易学、学习曲线平缓

  2. - 官方学习资料丰富、网络上海量开发者博文

  3. - 支持跨平台、支持本地网络与数据库接口

  4. - 丰富的UI组件

  5. - 简单方便的事件响应方式

  6. - 数据与UI分离的分层设计思想

  7. - 元数据系统支持

  8. - 可以部署到不同硬件支持包括开发板

5安装与测试

安装PyQT5非常简单,只需要一条命令行即可搞定。
Win10系统下
pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
Ubuntu系统下
pip3 install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
同时安装一下OpenCV-Python
pip 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简单桌面应用程序窗口,代码与注释如下:

  1. from PyQt5 import QtWidgets

  2. import sys

  3. # 初始化APP实例

  4. app = QtWidgets.QApplication(sys.argv)

  5. # panel = QtWidgets.QWidget()

  6. # panel.show()

  7. # 初始化桌面容器

  8. main_win = QtWidgets.QMainWindow()

  9. # 设置APP窗口名称

  10. main_win.setWindowTitle("第一个PyQT5程序")

  11. # 设置窗口大小

  12. main_win.setMinimumSize(640, 480)

  13. # 请求显示main_win.show()

  14. # 加载窗口并启动App

  15. app.exec()

运行结果如下:


系统化学习PyQT5+OpenCV开发桌面应用程序与嵌入式应用程序!
请持续关注我们的专栏!



扫码关注

OpenCV开发者联盟,

专注各种语言的OpenCV开发教程分享

OpenCV周边开发技术应用!

扫码查看OpenCV+OpenVIO+Pytorch系统化学习路线图


 推荐阅读 

CV全栈开发者说 - 从传统算法到深度学习怎么修炼

2022入坑深度学习,我选择Pytorch框架!

Pytorch轻松实现经典视觉任务

教程推荐 | Pytorch框架CV开发-从入门到实战

OpenCV4 C++学习 必备基础语法知识三

OpenCV4 C++学习 必备基础语法知识二

OpenCV4.5.4 人脸检测+五点landmark新功能测试

OpenCV4.5.4人脸识别详解与代码演示

OpenCV二值图象分析之Blob分析找圆

OpenCV4.5.x DNN + YOLOv5 C++推理

OpenCV4.5.4 直接支持YOLOv5 6.1版本模型推理

OpenVINO2021.4+YOLOX目标检测模型部署测试

比YOLOv5还厉害的YOLOX来了,官方支持OpenVINO推理

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/151761
 
416 次点击