安装 PyQt5 保姆级教程

作者:billy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

前言

博主之前做应用层开发用的一直是 Qt,这次尝试一下在 python 中使用 Pyqt5 模块来开发 UI 界面,这里做一些记录,方便后期回顾。

1. 安装 PyQt5

PyQt5 是一套 Python 绑定 Digia QT5 应用的框架,可以用来开发UI界面。这是一个跨平台的工具包,它可以运行在所有主要的操作系统上,包括UNIX,Windows,Mac OS。PyQt5 是双重许可。开发者可以在 GPL 和商业许可之间进行选择,详细可访问官方网站。

安装命令如下:
pip install PyQt5 -i https://pypi.douban.com/simple

除了 PyQt5 模块,我们还需要安装 PyQt5-tools 模块。由于在 PyQt5 中没有提供常用的 Qt 工具,而 PyQt5-tools 模块中包含了一系列常用的工具。

安装命令如下:
pip install PyQt5-tools -i https://pypi.douban.com/simple

通过 pip list可以查看模块是否已安装

在这里插入图片描述

2. 测试 PyQt5 的功能

创建一个文本,命名为 pyqt5_test.py
输入代码如下:

import sys
from PyQt5.QtWidgets import QApplication, QLabelif __name__ == "__main__":app = QApplication(sys.argv)label = QLabel("Hello PyQt5")label.setGeometry(0,0,300,200);label.show()sys.exit(app.exec_())

这是一个简单的小 demo,运行效果如下所示,可以显示一个弹窗
在这里插入图片描述

3. 在 Pycharm 中使用 PyQt5

1)使用本地环境创建项目 Demo
在这里插入图片描述

2)配置外部工具
在这里插入图片描述

名称:Qt-Designer
描述:打开 Qt Designer 工具快速制作UI界面
程序:designer.exe 的安装路径(我的路径:D:\Python\Python38\Lib\site-packages\qt5_applications\Qt\bin\designer.exe)
参数:无
工作目录:$FileDir$
名称:PyUIC
描述:把 Qt Designer 生成的 .ui 文件转换成 .py 文件
程序:pyuic5.exe 的安装路径(我的路径:D:\Python\Python38\Scripts\pyuic5.exe)
参数:$FileName$ -o $FileNameWithoutExtension$_rc.py
工作目录:$FileDir$
名称:PyRcc
描述:把 Qt Designer 中用到的资源文件 qrc 转换成 .py 文件
程序:pyrcc5.exe 的安装路径(我的路径:D:\Python\Python38\Scripts\pyrcc5.exe)
参数:$FileName$ -o $FileNameWithoutExtension$_rc.py
工作目录:$FileDir$

在这里插入图片描述

3)通过 Qt Designer 创建 UI 界面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

拖入一个 Label,删除文本,在属性中选择背景图像
在这里插入图片描述

可以显示图像,保存文件为 text.ui
在这里插入图片描述

通过 PyUIC 和 PyRCC 把 .ui 和 .qrc 转换成 .py 文件
在这里插入图片描述

新建 main.py 文件,代码如下

import sys
import testfrom PyQt5.QtWidgets import QApplication, QDialogif __name__ == '__main__':# 实例化,传参app = QApplication(sys.argv)# 创建对象dialog = QDialog()# 创建ui,引用 test 文件中的 Ui_Dialog 类ui = test.Ui_Dialog()# 调用 Ui_Dialog 类的 setupUi,创建初始组件ui.setupUi(dialog)# 创建窗口dialog.show()# 进入程序的主循环,并通过exit函数确保主循环安全结束(该释放资源的一定要释放)sys.exit(app.exec_())

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/307213.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[电磁学]大学物理陈秉乾老师课程笔记

主页有博主其他上万字的精品笔记,都在不断完善ing~ 第一讲 绪论,库仑定律 主要讲解了电磁学中的库伦定律和电场的相关概念,介绍了电荷和电磁相互作用的规律,并讲解了电场强度和电势的概念。 03:14 🎓 库伦定律:电势能与电荷的关…

通过学习这些技巧,让你的Python代码更加简洁和高效

文章目录 前言列表性能陷阱陷阱一陷阱二 快速合并字典通过有序字典去重最后Python技术资源分享1、Python所有方向的学习路线2、学习软件3、入门学习视频4、实战案例5、清华编程大佬出品《漫画看学Python》6、Python副业兼职与全职路线 前言 今天看到一些关于容器的使用技巧&am…

Transformer各模块结构详解(附图)

前言:基于TRANSFORMER的结构在视觉领域是承上启下的作用。刚接触会比较难,上的话需要对RNN,LSTM,ATTENTION先有初步的了解。下的话需要学习VIT,GPT,DETR等结构先了解TRANSFORMER都是必要的。 参考&#xff…

阿里云2核2G3M轻量应用服务器又降了1块钱?

阿里云和腾讯云怎么了?之前轻量应用服务器2核2G3M配置阿里云降价到63元一年,同款配置的腾讯云轻量应用服务器2核2G3M配置降价为62元一年,现在阿里云这台云服务器又降价了,现在是61元一年,真无语,阿腾云aten…

IP地址SSL证书

IP地址SSL证书是一种专门针对公网IP地址颁发的数字证书。与常规的域名SSL证书类似,其主要目标是提供数据加密和身份验证。以下几点概述了IP地址SSL证书的重要特性及其申请过程: 1. 保护直接IP访问: 当用户直接通过IP地址访问服务时&#xff…

mysql中按字段1去重,按字段2降序排序

数据举例 sql语句 按字段field4降序排序,按字段field1去重 SELECT tt1.name2,tt1.field1,tt1.field2,tt1.field4 from ( select tt2.name2,tt2.field1,tt2.field2,tt2.field4 from t2 tt2 ORDER BY tt2.field4 DESC ) tt1 GROUP BY tt1.field1执行结果

低代码平台搭建ERP系统 低代码快速开发灵活的ERP

随着数字化时代的到来,企业迫切需要高效、灵活的ERP系统来提高运营效率。在这一背景下,白码低代码平台成为了企业实现数字化转型的首选工具。本文将介绍低代码开发ERP的概念,并以白码低代码平台为例,探讨其在企业数字化转型中的重…

AIGC时代下,结合ChatGPT谈谈儿童教育

引言 都2024年了,谈到儿童教育,各位有什么新奇的想法嘛 我觉得第一要务,要注重习惯养成,我觉得聊习惯养成这件事情范围有点太大了,我想把习惯归纳于底层逻辑,我们大家都知道,在中国式教育下&a…

OpenHarmony之系统调用

背景 对于运行L0系统的硬件一般是mcu,资源有限,L0系统没有区分内核态和用户态,所有的代码都在内核态运行,所以不需要系统调用 L2系统用的是Linux内核,所以系统调用跟Linux Kernel的是一样的。 所以我们主要来看看L1系…

MFT端口报错处理手册

MFT端口主要包括:AS2,OFTP,SFTP,FTP等,覆盖当前EDI传输过程中可能会使用到的几乎所有传输协议。 知行之桥的MFT端口通过提供以下功能扩展了核心端口的文件传输功能: 安全的点对点文件传输协议,如AS2、AS4等服务器端支持FTP和SFT…

父子组件通信 - 子组件内同步更新父组件内数据,实现父组件与子组件数据双向绑定 $emit(‘update:active-type‘, ‘card‘)

1. 概述 - 父子组件通信 父组件传给子组件数据,子组件props接收,当子组件内需要修改props接受的数据时,通常我们会给父组件中子组件写一个 自定义事件,然后调用自定义事件,并将需要修改的数据值传给自定义事件&#xf…

Jmeter吞吐量控制器总结

吞吐量控制器(Throughput Controller) 场景: 在同一个线程组里, 有10个并发, 7个做A业务, 3个做B业务,要模拟这种场景,可以通过吞吐量模拟器来实现。 添加吞吐量控制器 用法1: Percent Executions 在一个线程组内分别建立两个吞吐量控制器, 分别放业务A和业务B …