0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

OpenCV学堂 来源:OpenCV学堂 2023-01-30 11:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

为什么需要Python桌面开发

f42cb982-9fc3-11ed-bfe3-dac502259ad0.jpg

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()

运行结果如下:

f43aa59c-9fc3-11ed-bfe3-dac502259ad0.png

系统化学习PyQT5+OpenCV开发桌面应用程序与嵌入式应用程序!

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • GUI
    GUI
    +关注

    关注

    3

    文章

    693

    浏览量

    42862
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89600
  • 深度学习
    +关注

    关注

    73

    文章

    5591

    浏览量

    123920

原文标题:2023年Python GUI桌面应用开发该选哪个库

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LABVIEW 2023 Q1调用python后一直报错1671

    LABVIEW 2023Q1调用python后一直报错1671报错信息:PythonNode_AddTwoDoubles.vi中的打开Python会话Python returned
    发表于 11-12 09:51

    Python调用API教程

    两个不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、用Requests发送HTTP请求 使用Python调用API的第一步是发送HTTP请求,通常
    的头像 发表于 11-03 09:15 332次阅读

    PYQT 应用程序框架及开发工具

    特点,已成为嵌入式领域的重要开发工具 PyQt 是一个创建 GUI 应用程序的工具包。它是 Python 编程语言和 Qt 的成功融合。因为可用的类有很多,他们被分成几个模块。Qt
    发表于 10-29 07:15

    GUI Guider全新优化方案GUI xTurbo-VeloRender初体验:基于i.MX RT平台的LVGL渲染能力突破

    引言 在嵌入式GUI开发领域,图形界面的渲染性能直接决定了用户体验的流畅度与产品竞争力。针对i.MX RT系列的开发需求,恩智浦在2025隆重推出全新的性能优化方案 -
    的头像 发表于 07-10 09:21 3265次阅读
    <b class='flag-5'>GUI</b> Guider全新优化方案<b class='flag-5'>GUI</b> xTurbo-VeloRender初体验:基于i.MX RT平台的LVGL渲染能力突破

    10分钟上手睿擎平台GUI开发:第一个LVGL图形应用

    LVGL开源图形为嵌入式系统提供了高效的GUI设计解决方案,为开发者提供了直观且易于使用的界面设计环境。LVGL不仅资源占用低,更拥有全面的功能和丰富的文档资料,使得GUI设计变得简
    的头像 发表于 06-06 18:41 2263次阅读
    10分钟上手睿擎平台<b class='flag-5'>GUI</b><b class='flag-5'>开发</b>:第一个LVGL图形应用

    全网疯传!树莓派GUI开发竟然可以这么轻量?

    嘿,各位树莓派的发烧友们!今天我要和大家分享一个超酷的技巧——如何在没有桌面环境的情况下,在树莓派上开发GUI应用。想象一下,你的树莓派就像一个超级英雄,而我们要给它装上一个炫酷的“面甲”,让它不
    的头像 发表于 04-05 09:36 1967次阅读
    全网疯传!树莓派<b class='flag-5'>GUI</b><b class='flag-5'>开发</b>竟然可以这么轻量?

    树莓派新玩法:基于WiFi的CPU温度与内存使用Web-GUI监控系统

    WiFi网络远程监控RaspberryPi的CPU温度。GUI可通过浏览器直接访问,操作便捷且用户友好。NiceGUI是一个优秀的Python,能大幅简化交互式现代
    的头像 发表于 03-25 16:39 768次阅读
    树莓派新玩法:基于WiFi的CPU温度与内存使用Web-<b class='flag-5'>GUI</b>监控系统

    ​如何在虚拟环境中使用 Python,提升你的开发体验~

    。RaspberryPiOS预装了Python3。干扰系统Python的安装可能会给你的操作系统带来问题。安装第三方Python时,请务必使用正确的包管理工具。在Lin
    的头像 发表于 03-25 09:34 635次阅读
    ​如何在虚拟环境中使用 <b class='flag-5'>Python</b>,提升你的<b class='flag-5'>开发</b>体验~

    请问可以直接参考DLP4500软件源码的调用方式进行控制吗?需要添加哪些文件吗?

    软件源码的调用方式进行控制吗?需要添加哪些文件吗? 2. 在论坛中看到有人使用基于MFC进行控制投影的,请问使用MFC和Qt哪个更兼容、开发起来更容易些呢?
    发表于 03-03 08:23

    请问TLC5620哪个管脚可做片

    TLC5620哪个管脚可做片? 另外,请详细解释一下LOAD和LDAC的用法,以及如何使用比较好?
    发表于 01-24 06:01

    Python Connector for InterBase连接解决方案

    ,以对存储的数据执行创建、读取、更新和删除操作。解决方案完全符合 Python DB API 2.0 规范,并作为 Windows、macOS 和 Linux 的 wheel 包分发。 特征 高性能
    的头像 发表于 01-22 14:34 721次阅读

    使用Python实现xgboost教程

    装: bash复制代码conda install -c conda-forge xgboost 2. 导入必要的 在你的Python脚本或Jupyter Notebook中,导入必要的
    的头像 发表于 01-19 11:21 2234次阅读

    适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据

    和 MariaDB 数据服务器以及托管数据服务,以对存储的数据执行创建、读取、更新和删除操作。解决方案完全实现了 Python DB API 2.0 规范,并作为 Window
    的头像 发表于 01-17 12:18 847次阅读
    适用于MySQL和MariaDB的<b class='flag-5'>Python</b>连接器:可靠的MySQL数据连接器和数据<b class='flag-5'>库</b>

    适用于Oracle的Python连接器:可访问托管以及非托管的数据

    适用于 Oracle 的 Python 连接器 适用于 Oracle 的 Python 连接器是一种可靠的连接解决方案,用于从 Python 应用程序访问 Oracle 数据服务器和
    的头像 发表于 01-14 10:30 748次阅读

    基于QT开发国产主板终端桌面程序 高效、稳定、跨平台的解决方案

    开发者们面临的一个重要挑战。本文将介绍如何基于QT框架,开发适用于国产主板的终端桌面程序,并探讨其优势和应用场景。 QT是一个跨平台的C++图形用户界面应用程序框架,广泛用于开发
    的头像 发表于 01-08 15:34 1460次阅读