2024最新PyQt5及其工具(Qt Designer、PyUIC、PyRcc)手把手操作实践指南

本文主要是介绍2024最新PyQt5及其工具(Qt Designer、PyUIC、PyRcc)手把手操作实践指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2024最新PyQt5及其工具(Qt Designer、PyUIC、PyRcc)手把手操作实践指南

前言

最近做了一些个人项目,内部逻辑还是挺多的,而且也有想要开源的想法,但是总不能直接把源码端给大家直接运行,有一些需求还有萌新小白用得上的,所以还得做一个可视化的UI。想了想能够通过Python建立的UI工具,在我印象中有PyQt5和tkinter这两个还算常见,wxPython没见过几个人用过,所有还是打算写一个PyQt5的教程入门文章带大家操作实践一下PyQt5的用法。之前网页或者博客很多篇都是PyQt5没有分离plugins,还有几个坑要注意一下。

1.PyQt工具包

PyQt5简述

PyQt5是一个创建图形用户界面(GUI)应用程序的工具集。它是Qt库的Python绑定之一,Qt库是一套跨平台的C++库,广泛用于开发GUI应用以及非GUI应用的编程工具。PyQt5支持多种操作系统,包括Windows、macOS、Linux等,使得用它开发的应用可以在这些平台上无缝运行。一般在嵌入式设备使用可视化UI大部分是PyQt5,PyQt5还提供了许多高级功能,如图形和动画支持、数据库交互、网络编程等。

PyQt5-tools简述

PyQt5-tools 是一个与 PyQt5 配合使用的工具集,它提供了一系列有助于开发 PyQt5 应用程序的工具和组件。这个工具集的主要作用是简化开发流程、提高效率,并帮助创建更加专业和美观的用户界面。

Qt Designer

功能:Qt Designer 是一个拖放式界面设计工具,允许开发者以可视化的方式创建和布局窗口和对话框,而无需编写代码。使用 Qt Designer,可以快速设计复杂的界面,并生成一个 XML 文件(.ui 文件),这个文件后续可以在 PyQt5 程序中加载或转换为 Python 代码。

在这里插入图片描述

pyuic 和 pyrcc

pyuic 是一个命令行工具,用于将 Qt Designer 生成的 .ui 文件转换成 Python 代码。pyrcc 用于处理 Qt 资源文件(如图片),将它们转换成 Python 可以使用的模块。这些工具使得将设计和资源无缝集成到 PyQt5 应用程序中变得更加简单。

2.工具包安装

首先安装PyQt5:

pip install PyQt5 -i https://pypi.douban.com/simple

安装常用的pyqt工具库 PyQt5-tools:

pip install PyQt5-tools -i https://pypi.douban.com/simple

安装完检查一下是否安装到了想要的Python运行环境下面:
在这里插入图片描述

除此之外,由于新版的PyQt5的plugins分离出去了,还需要安装一下pyqt5_plugins。

pip install PyQt5-plugins

3.环境配置

我们要让系统能够找到对应指令就得将文件运行路径放到环境变量里面去:

1.添加pyqt5-tools

在这里插入图片描述

2.新建QT_PLUGIN_PATH

在环境变量界面中点击“新建”,在系统环境变量中新建名为“QT_PLUGIN_PATH”的变量:

\Lib\site-packages\PyQt5\Qt5\plugins

在这里插入图片描述

需根据实际情况修改。以上两步环境变量设置完成,现在需要在Pycharm设置工具。

4.Pycharm工具设置

Qt Designer

点击菜单栏文件,弹出下拉框,选择设置。在设置界面中选择“Tools”→“External Tools”,该部分操作如下图所示:

点击“加号”按钮新建工具,弹出工具配置界面:

在这里插入图片描述

其中\Lib\site-packages\QtDesigner\designer.exe为我们要填写的程序,工作目录为:

$FileDir$

PyUIC

同样按照以上方式添加PyUIC工具,点击“加号”按钮,在弹出的编辑设置框中Name一栏填写“PyUIC”;

在这里插入图片描述

程序在下载的Python环境下的Scripts目录下面,其中实参为:

$FileName$
-o
$FileNameWithoutExtension$.py

PyRcc

PyRcc工具的配置方式与PyUIC相似:

在这里插入图片描述

实参为:

$FileName$
-o
$FileNameWithoutExtension$_rc.py

设置完成后简单演示一下如何使用,首先打开或新建一个项目,按一下展示点击工具栏的External Tools,可以看到我们之前设定的三个工具:

在这里插入图片描述

打开QT-Designer可以进入到QT设计页面:

在这里插入图片描述

具体如何对Qt页面编辑以及左边菜单栏的操作我们不展开详细描述,后面博主将会出一系列专门的文章讲解Qt开发。这里再讲述一下我们保存好的UI文件和qrc文件该如何转化为python代码。

5.程序转化

PyCharm中选中保存的ui文件,使用“Tools”下的“External Tools”中的“PyUIC”工具将该文件转换为需要的py文件:

在这里插入图片描述

同理PyRcc工具将该资源文件转换为需要的py文件。

使用“Tools”下的“External Tools”中的“PyUIC”工具将该文件转换为需要的py文件:

[外链图片转存中...(img-McTDuF0c-1705476745899)]

同理PyRcc工具将该资源文件转换为需要的py文件。

在这里插入图片描述

欢迎私聊交流,点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

这篇关于2024最新PyQt5及其工具(Qt Designer、PyUIC、PyRcc)手把手操作实践指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/617520

相关文章

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

SpringBoot整合OpenFeign的完整指南

《SpringBoot整合OpenFeign的完整指南》OpenFeign是由Netflix开发的一个声明式Web服务客户端,它使得编写HTTP客户端变得更加简单,本文为大家介绍了SpringBoot... 目录什么是OpenFeign环境准备创建 Spring Boot 项目添加依赖启用 OpenFeig

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置