安装 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.mzph.cn/news/583642.shtml

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

相关文章

certum的ip证书购买流程

Certum是成立于欧洲的CA认证机构,经过二十几年的发展Certum已经成为欧洲知名的CA认证机构之一,拥有广泛的客户群体和合作伙伴。IP证书是Certum为只有公网IP地址的网站准备的数字加密服务。今天就随SSL盾小编了解购买Certum旗下的IP证书流程。 第一步&am…

数据库进阶教学——读写分离(Mycat1.6+Ubuntu22.04主+Win10从)

目录 1、概述 2、环境准备 3、读写分离实验 3.1、安装jdk 3.2、安装Mycat 3.3、配置Mycat 3.3.1、配置schema.xml ​​​​3.3.2、配置server.xml 3.4、修改主从机远程登陆权限 3.4.1、主机 3.4.2、从机 3.5、启动Mycat 3.6、登录Mycat 3.7、验证 1、概述 读写分…

如何合理配置云服务器的CPU和内存?

​  提到云服务器性能,大抵有两个主要影响因素,CPU 核心数量和内存容量 ,它们决定了云服务器的速度和可靠性。日常运用中,我们如何判断网站需要需要更多或更少?如何扩大或缩小它们以优化网站的性能? 一般来说,您拥…

视频遥测终端机的设计需求

目录 1.目的 2.参考文件 3.总体描述 4.硬件资源描述 4.1微控制单元 4.2视频处理单元 4.3性能指标 5.功能要求 5.1系统参数要求 5.1.1系统管理 5.1.2系统配置 5.1.2.1一般参数 5.1.2.2编码参数 5.1.2.3网络参数 5.1.2.4网络服务 5.1.2.5OSD参数 5.1.2.6抓拍 5.…

java设计模式学习之【访问者模式】

文章目录 引言访问者模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用电脑示例代码地址 引言 设想你是一个艺术馆的管理员,艺术馆里有各种各样的艺术品。每当有游客来访时,根据他们的兴趣,他们可能只想看画、雕塑或特定的…

【开源】基于Vue+SpringBoot的房屋出售出租系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 房屋销售模块2.2 房屋出租模块2.3 预定意向模块2.4 交易订单模块 三、系统展示四、核心代码4.1 查询房屋求租单4.2 查询卖家的房屋求购单4.3 出租意向预定4.4 出租单支付4.5 查询买家房屋销售交易单 五、免责说明 一、摘…

spring security oauth2搭建认证服务器

如图(上面图片的代码在业务项目中),第一步在独立的业务项目中,先获取授权码(也叫jsessionId)、获取授权码的路径就是 /oauth2/authorize,这个路径是oauth2的框架中被OAuth2AuthorizationEndpoin…

如何从RTP包的AP类型包,获取h265的PPS、SPS、VPS信息

ffmpeg播放rtp流,为了降低首开延迟,需要在SDP文件中指定PPS、SPS、VPS信息。抓包后发现wireshark无法解析AP包。需要自己进行AP包解析。RTP协议AP包格式如下: 根据如上信息,我们可以解析AP包,效果如下 40 01&#xff…

图像质量评估:使用 SSIM 计算图像相似性

在图像处理领域,衡量两幅图像之间相似性的一种常见方法是使用结构相似性指数(SSIM)。SSIM 是一种全参考的图像质量评估指标,它不仅考虑了图像的亮度、对比度,还考虑了结构信息。在本文中,我们将介绍一个使用…

【Vue2+3入门到实战】(13)插槽<slot>详细示例及自定义组件的创建与使用代码示例 详解

目录 一、学习目标1.插槽2.综合案例:商品列表 一、插槽-默认插槽1.作用2.需求3.问题4.插槽的基本语法5.代码示例6.总结 二、插槽-后备内容(默认值)1.问题2.插槽的后备内容3.语法4.效果5.代码示例 三、插槽-具名插槽1.需求2.具名插槽语法3.v-s…

【JAVA】使用OPENGL

从这个网址下载对应的库: LWJGL - Lightweight Java Game Libraryhttps://www.lwjgl.org/browse/release/3.3.3下载这个压缩包(实际上有很多版本3.3.3是比较新的版本:LWJGL - Lightweight Java Game Library): https…

关于log4j的那些坑

背景:工程中同时存在log4j.xml&log4j2.xml maven依赖如下: 此时工程实际使用的日志文件为log4j.xml 1、当同时设置log4j和log4j2的桥接依赖时 maven依赖如下: 此时启动会有警告日志: 点击告警日志链接:https://…

【Vue2 + ElementUI】el-table中校验表单

一. 案例 校验金额 阐述&#xff1a;校验输入的金额是否正确。如下所示&#xff0c;点击【编辑图标】会变为input输入框当&#xff0c;输入金额。当输入框失去焦点时&#xff0c;若正确则调用接口更新金额且变为不可输入状态&#xff0c;否则返回不合法金额提示 <templat…

计算机网络复习4

网络层——点到点 文章目录 网络层——点到点功能路由算法IPV4NAT 网络地址转换子网划分与子网掩码、CIDR地址解析协议ARP&#xff1a;根据IP地址找到MAC地址动态主机配置协议DHCP网际控制报文协议ICMPIPV6内部网关协议&#xff08;IGP&#xff09;外部网关协议(EGP) 功能 异构…

数字人直播系统——打破时空限制的新媒体时代

随着科技的不断进步&#xff0c;新媒体开始逐渐成为人们获取信息和娱乐的首选方式。其中&#xff0c;数字人直播系统作为一种创新的传媒形式&#xff0c;正以其独特的优势受到越来越多人的关注和喜爱。数字人直播系统通过将虚拟人物与现实世界紧密结合&#xff0c;打破了时间和…

SuperMap YashanDB联合解决方案发布,赋能更强大的地理智慧

近期&#xff0c;深圳计算科学研究院&#xff08;简称“深算院”&#xff09;携手超图软件集团&#xff08;简称“超图 ”&#xff09;重磅推出基于崖山数据库的空间数据管理解决方案&#xff0c;基于YashanDB空间数据库能力&#xff0c;与超图SuperMap GIS平台深度适配&#x…

【温故而知新】vue运用之探讨下单页面应用(SPA)与多页面应用(MPA)

一、概念 1.单页面应用SPA(Single page application) Vue单页面应用是一种采用Vue.js框架开发的Web应用程序,它仅有一个HTML文件,通过前端路由实现页面的切换和渲染。与传统的多页面应用相比,Vue单页面应用在用户体验和开发效率方面有着明显的优势。 在Vue单页面应用中…

计算机与人工智能:共创智能时代的新篇章

计算机与人工智能&#xff1a;共创智能时代的新篇章 在这个科技日新月异的时代&#xff0c;计算机与人工智能&#xff08;AI&#xff09;的结合正以前所未有的速度改变着世界。它们在各自的领域内飞速发展&#xff0c;而当这两者相遇时&#xff0c;它们产生了巨大的能量&#x…

C++ Qt开发:TableView与TreeView组件联动

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍TableView与TreeView组件联动的常用方法及灵活…

== 和 equals() 的区别

大家好&#xff0c;我是"java继父"伯约&#xff0c;这篇对大家有帮助的话求一个赞&#xff0c;另外文章末尾放了我从月入7k到现在3W的学习资料&#xff0c;大家可以去领一下&#xff08;无偿&#xff09;。 对于基本类型和引用类型的作用效果是不同的&#xff1a; …