【PyQt5】环境配置

PyQt5 环境配置

  • 一、前言
    • 1.1 PyQt5介绍
    • 1.2 PyCharm集成Pyqt5
  • 二、pyqt5安装
  • 三、PyQt5-tools工具包安装
  • 四、常用工具环境配置
    • 4.1、环境变量配置
    • 4。2、验证是否安装成功
  • 五、pycharm中设置Qt工具(Qt Designer、PyUIC、PyRcc)
    • 5.1、配置Qt Designer
    • 5.2、配置PyUIC
    • 5.3 、配置PyRcc
  • 六、使用演示
    • 1、打开软件后,在弹出的引导界面选择“Main Window”,然后点击“Create”按钮,创建一个窗体界面,如下图所示:![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7bd88dc96ca94a8b959bdfd77cec88ca.png)
    • 2、在软件界面左侧的控件选择栏中拖动三个“Push Button”到中间的设计框中,双击按钮依次修改显示字符,如下图所示
    • 3、在软件界面左侧的控件选择栏中拖动两个“Label”控件到中间的设计框中,如下图所示:
    • 4、在当前项目路径下创建资源文件文件夹 放入图片资源
    • 5、如下图所示,点击“Resource Browser”下的铅笔图表,弹出新建qrc文件的编辑框。
    • 6、同时qrc文件 添加前缀与文件夹同名,再点击添加文件,向qrc资源文件中添加两张图片,最后点击“OK”确定。
    • 7、选中添加进来的label窗体,在右侧属性编辑栏中的“text”属性中“pixmap”一栏选择“Choose Resource”,在资源选择框中选择刚刚添加进qrc的图片,点击确定,对另一个label也进行同样的操作,如下图所示
    • 8、在PyCharm中选中保存的ui文件,使用“Tools”下的“External Tools”中的“PyUIC”工具将该文件转换为需要的py文件。
    • 9、在PyCharm中选中保存的qrc文件,使用“Tools”下的“External Tools”中的“PyRcc”工具将该资源文件转换为需要的py文件。
    • 10、在PyCharm中打开使用“PyUIC”工具转换的py文件,在下面添加如下代码:

一、前言

1.1 PyQt5介绍

Qt(官方发音 [kju:t])是一个跨平台的C++开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序

Qt 是纯 C++ 开发的,正常情况下需要先学习C语言、然后在学习C++然后才能使用Qt开发带界面的程序

多亏了开源社区使得Qt 还可以用Python、Ruby、Perl 等脚本语言进行开发。

Qt 支持的操作系统有很多,例如通用操作系统 Windows、Linux、Unix,智能手机系统Android、iOS, 嵌入式系统等等。可以说是跨平台的

QT官网:https://doc.qt.io/qt-5/index.html

PyQt的开发者是英国的“Riverbank Computing”公司。它提供了GPL(简单的说,以GPL协议发布到网上的素材,你可以使用,也可以更改,但是经过你更改然后再次发布的素材必须也遵守GPL协议,主要要求是必须开源,而且不能删减原作者的声明信息等)与商业协议两种授权方式,因此它可以免费地用于自由软件的开发。

PyQt可以运行于Microsoft Windows、Mac OS X、Linux以及Unix的多数变种上。

PyQt是Python语言的GUI(Graphical User Interface,简称 GUI,又称图形用户接口)编程解决方案之一

可以用来代替Python内置的Tkinter。其它替代者还有PyGTK、wxPython等,与Qt一样,PyQt是一个自由软件

文档相关地址:https://www.riverbankcomputing.com/software/pyqt/

比较不错的参考资料:https://wiki.python.org/moin/PyQt/Tutorials

  • Qt (C++ 语言 GUI ) PyQt = Python + Qt技术

  • Tkinter Python官方采用的标准库,优点是作为Python标准库、稳定、发布程序较小,缺点是控件相对较少。

  • wxPython 基于wxWidgets的Python库,优点是控件比较丰富,缺点是稳定性相对差点、文档少、用户少。

  • PySide2、PyQt5 基于Qt 的Python库,优点是控件比较丰富、跨平台体验好、文档完善、用户多。缺点是 库比较大,发布出来的程序比较大。

  • PyQt5 的开发者是英国的“Riverbank Computing”公司 , 而 PySide2 则是 qt 针对python语言提供的专门

1.2 PyCharm集成Pyqt5

很多情况下需要为程序设计一个GUI界面,在Python中使用较多的用户界面设计工具是PyQt。由于通常我们使用较多的IDE是PyCharm,为了方便地使用PyQt进行用户界面设计,这里总结了在PyCharm安装配置的简单安装方法。可能有人还不清楚这几个工具的用途,这里对要安装配置的依赖包和工具简介如下:

  • PyQt5:PyQt5是一套Python绑定Digia QT5应用的框架。Qt库是最强大的GUI库之一,PyQt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。PyQt5是双重许可。开发者可以在GPL和商业许可之间进行选择,详细可访问PyQt5的官方网站。

  • PyQt5-tools:PyQt5中没有提供常用的Qt工具,比如图形界面开发工具Qt Designer,PyQt5-tools中包含了一系列常用工具。

  • Qt Designer:可以通过Qt Designer来编写UI界面,Qt Designer的设计符合MVC的架构,其实现了视图和逻辑的分离,从而实现了开发的便捷。Qt Designer中的操作方式十分灵活,其通过拖拽的方式放置控件可以随时查看控件效果。Qt Designer随PyQt5-tools包一起安装,其安装路径在 “Python安装路径\Lib\site-packages\pyqt5-tools”下。

  • PyUIC:Qt Designer生成的.ui文件(实质上是XML格式的文件)可以通过pyuic5工具转换成.py文件。

  • PyRcc:在使用PyQt开发界面时,在Qt Designer中使用的图片等资源需要将其编译为py文件,这时需要用到PyRcc工具方便地将qrc文件转换为py文件。

二、pyqt5安装

pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple/

三、PyQt5-tools工具包安装

包含PyQt常用工具 Qt Designer、PyUIC、PyRcc

pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/

四、常用工具环境配置

4.1、环境变量配置

其实这几个工具在安装PyQt5-tools的时候已经包括在目录中,只不过要在PyCharm中方便使用还需要一些配置步骤。首先为了保证Windows系统能够正确识别PyQt5-tools的常见命令,还需要将PyQt5-tools的安装目录添加到系统环境变量Path中。

  • 1.将PyQt5-tools的安装目录添加到系统环境变量Path中。
    在这里插入图片描述
  • 2.在环境变量界面中点击新建,新建名设为QT_PLUGIN_PATH,在安装目录中找到plugins文件夹路径(根据实际情况填写)D:\python\work\Excel_Utils\venv\Lib\site-packages\pyqt5_plugins,点击确定即可
    在这里插入图片描述

4。2、验证是否安装成功

1、打开pycharm,新建一个py文件,输入:

import sys
from PyQt5.QtWidgets import QWidget, QApplication

app = QApplication(sys.argv)
widget = QWidget()
widget.resize(640, 480)
widget.setWindowTitle("Hello, PyQt5!")
widget.show()
sys.exit(app.exec())

2、点击运行,如果没有报错并且出现新的窗口"Hello, PyQt5!",则表示安装成功
在这里插入图片描述

五、pycharm中设置Qt工具(Qt Designer、PyUIC、PyRcc)

这里主要是配置两个工具,一个是绘图工具Qt Designer,直接以 HTML 形式绘制工具的界面 UI,另外一个是将 HTML 界面一键转换成 py 文件的工具PyUIC。

5.1、配置Qt Designer

首先配置第一个工具Qt Designer
1、打开pycharm,点击菜单栏“File”,弹出下拉框,选择“Setting”,弹出设置界面。在设置界面中选择“Tools”→“External Tools” 点击+号新建工具,之后会弹出工具配置界面

  • ①Name:自己设置扩展工具的名字,这里我设置为QTDesigner。
  • ②Program:填写 PyQtDesigner 安装的路径,也就是安装的 designer.exe 所在的路径,不同版本存储的路径可能不一样,得自己去 Python 的安装路径下面找到。例如:我安装后的路径在 D:\python\work\Excel_Utils\venv\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
  • ③Working directory :就填 F i l e D i r FileDir FileDir,比较方便的也可以点击右侧 Insert Macro…,然后找到 F i l e D i r FileDir FileDir。或者可以填写 P r o j e c t F i l e D i r ProjectFileDir ProjectFileDir。前者表示将当前.ui文件生成的.py文件储存到当前目录;后者表示将当前.ui文件生成的.py文件储存到项目主目录下,个人认为写前者即可。
    在这里插入图片描述

5.2、配置PyUIC

PyUIC(就是将绘制的界面UI转换成py文件的工具),步骤同理,只不过设置的参数有所改变

  • ①Program:填写pyuic5 安装的路径,也就是安装的 pyuic5 .exe 所在的路径,不同版本存储的路径可能不一样,得自己去 Python 的安装路径下面找到。例如:我安装后的路径在D:\python\work\Excel_Utils\venv\Scripts\pyuic5.exe
  • ②Arguments:填写如下:
$FileName$ -o $FileNameWithoutExtension$.py 

这条语句的意思是将选中的xxx.ui 文件转换为同名的xxx.py文件
需要特别注意的是,执行的时候需要右键选中对应的xxx.ui 文件,不然会出错的。

  • ③Working directory: F i l e D i r FileDir FileDir
    在这里插入图片描述

5.3 、配置PyRcc

与PyUIC配置相相似在这里插入图片描述

六、使用演示

依赖包和工具安装配置完成,下面简单演示一下如何使用。首先打开或新建一个Python项目,点击菜单栏中的“Tools”,选择“External Tools”,可以看到之前设置好的三个工具,选择“Qt Designer”打开Qt设计工具,步骤如下图所示:
在这里插入图片描述

1、打开软件后,在弹出的引导界面选择“Main Window”,然后点击“Create”按钮,创建一个窗体界面,如下图所示:在这里插入图片描述

2、在软件界面左侧的控件选择栏中拖动三个“Push Button”到中间的设计框中,双击按钮依次修改显示字符,如下图所示

在这里插入图片描述

3、在软件界面左侧的控件选择栏中拖动两个“Label”控件到中间的设计框中,如下图所示:

在这里插入图片描述

4、在当前项目路径下创建资源文件文件夹 放入图片资源

在这里插入图片描述

5、如下图所示,点击“Resource Browser”下的铅笔图表,弹出新建qrc文件的编辑框。

在这里插入图片描述
点击新建 按钮新建一个qrc文件, 资源文件选择为当前项目目录下
在这里插入图片描述

6、同时qrc文件 添加前缀与文件夹同名,再点击添加文件,向qrc资源文件中添加两张图片,最后点击“OK”确定。

在这里插入图片描述

7、选中添加进来的label窗体,在右侧属性编辑栏中的“text”属性中“pixmap”一栏选择“Choose Resource”,在资源选择框中选择刚刚添加进qrc的图片,点击确定,对另一个label也进行同样的操作,如下图所示

在这里插入图片描述最终完成后的界面,点击菜单栏“File”下“Save”将该界面保存为ui文件并置于项目目录下。

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

在这里插入图片描述
转换成功在这里插入图片描述

9、在PyCharm中选中保存的qrc文件,使用“Tools”下的“External Tools”中的“PyRcc”工具将该资源文件转换为需要的py文件。

在这里插入图片描述

10、在PyCharm中打开使用“PyUIC”工具转换的py文件,在下面添加如下代码:

if __name__ == '__main__':
    import sys
    from PyQt5.QtWidgets import QApplication, QMainWindow
    import pics_ui_rc # 导入添加的资源(根据实际情况填写文件名)
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

在PyCharm中点击运行该文件,最终运行界面如下所示:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕业设计】日用百货交易网站——后附源码

🎉**欢迎来到我的技术世界!**🎉 📘 博主小档案: 一名来自世界500强的资深程序媛,毕业于国内知名985高校。 🔧 技术专长: 在深度学习任务中展现出卓越的能力,包括但不限于…

QT天气预报

QT-天气预报 1.界面设计 2.开发  2.1 重写鼠标右键退出功能  2.2 重写鼠标左键移动窗口  2.3 QtHttp编程获取天气原始数据    2.3.1 发送HTTP请求    2.3.2 读取数据    2.3.3 处理网络失败请求 2.4 JSON数据    2.4.1 QT生成JSON数据    2.4.2 QT解…

[lesson22]对象的销毁

对象的销毁 对象的销毁 生活中的对象都是被初始化后才上市的 生活中的对象被销毁前会做一些清理工作 一般而言,需要销毁的对象都应该做清理 解决方案 为每个类都提供一个public的free函数对象不在需要时立即调用free函数进行清理 存在的问题 free只是一个普通…

wife_wife-攻防世界

题目 注册发现可以注册管理员,但是好像有条件 抓包试试 没思路了 看看其他师傅的wp,用到 js 原型链污染攻击 Nodejs原型链污染攻击基础知识 | Savants Blog (lxscloud.top) 网站后端是Node.js搭建的 原型链污染 简单来讲,通过 newUser.__proto__ …

使用 HBuilderX自动上传Uniapp 微信小程序代码

HBuilderX内置相关环境,开箱即用,无需配置nodejs。本文只介绍发布微信小程序的步骤。 1.下载和安装 HBuilderX hbuilder首页:https://www.dcloud.io/hbuilderx.html 下载hbuilder编辑器,选择对应的系统,Windows和mac正式版即可,下载后免安…

mysql8.0高可用集群架构实战

MySQL :: MySQL Shell 8.0 :: 7 MySQL InnoDB Cluster 基本概述 InnoDB Cluster是MySQL官方实现高可用读写分离的架构方案,其中包含以下组件 MySQL Group Replication,简称MGR,是MySQL的主从同步高可用方案,包括数据同步及角色选举Mysql Shell 是InnoDB Cluster的管理工具,用…

基于SpringBoot+Vue的健身器材用品网站(源码+文档+部署+讲解)

一.系统概述 随着我国经济的高速发展与人们生活水平的日益提高,人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下,人们更趋向于足不出户解决各种问题,必录德健身器材用品网展现了其蓬勃生命力和广阔的前景。与此同时&#…

AugmentedReality之路-平面检测(5)

本文介绍通过AR检测水平平面和垂直平面,并将检测到的平面转化为Mesh 1、在首页添加功能入口 在首页添加一个按钮,命名为Start World Track 2、自定义ExecStartAREvent 创建ARSessionConfig并取名为ARSessionConfig_World 自定义ExecStartAREvent&…

2024年你应该防范的11个WordPress安全漏洞问题:由资深程序员撰写

微软创始人比尔盖茨曾说过,“安全对每个人都有同样的影响。在网站安全方面,没有特定的主题、目标或受众。” 但WordPress是互联网上最受欢迎的CMS。它也是被黑客攻击次数最多的。针对WordPress的攻击次数超过了每秒2800次。网络攻击会浪费时间、精力和金…

camera驱动学习总结记录

https://www.yuque.com/u2132176/yfiyal/ch1zsrgzevcwf1rw 视频教程里面对应的gc2053c驱动源码注解: gc2053.c(60 KB) 对应的驱动文档: Rockchip_Driver_Guide_VI_CN_v1.1.1(2).pdf(2.3 MB) 视频里面对应的mipi协议文档汇总: MIPI标准文档大…

MoCo v1(CVPR 2020)原理与代码解读

paper:Momentum Contrast for Unsupervised Visual Representation Learning official implementation:https://github.com/facebookresearch/moco 背景 最近的一些研究提出使用对比损失相关的方法进行无监督视觉表征学习并取得了不错的结果。尽管是受…

springcloud第4季 springcloud-alibaba之nacos篇

一 nacos 1.1 nacos作用介绍 nacos是一个分布式的配置中心和注册发现中心。 nacos是 dynamic naming configuration service nacosconfigbus 实现动态刷新;nacosconsul 1.2 各个注册中心对比 注册中心CAP模型控制台管理社区活跃度EureakaAp支持低zkcp不支持中…

leetcode73 矩阵置零

题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用原地算法。 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 输入:matrix [[0,1,2,0],[3,4…

使用 Python 标记具有相同名称的条目

如果大家想在 Python 中标记具有相同名称的条目,可以使用字典(Dictionary)或集合(Set)来实现。这取决于你们希望如何存储和使用这些条目。下面我将提供两种常见的方法来实现这个目标。 1、问题背景 在处理数据时&…

PE文件的分析和构造超详细过程

本文详细讲述如何从0构造一个PE文件,运行该文件会弹出一个HelloPE的窗口 目录 预备知识 1. 构造DOS头IMAGE_DOS_HEADER 1.1 构造DOS_MZ头 1.2 构造DOS_STUB 2、构造PE头IMAGE_NT_HEADERS 248字节 2.1 signature 2.2 IMAGE_FILE_HEADER 2.3 IMAGE_OPTI…

Python爬虫:蝉妈妈返回参数data解密

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、…

Spring Boot | Spring Boot 整合 “Servlet三大组件“ ( Servlet / Filter / Listene )

目录: Spring Boot 整合 "Servlet三大组件" :1. 使用 "组件注册" 的方式 "整合Servlet三大组件" ( 实际操作为 : 创建自定义的"三大组件"对象 结合刚创建"的自定义组件对象"来 将 XxxRegistrationBean对象 通过…

sparkSql join 关联机制

💐💐扫码关注公众号,回复 spark 关键字下载geekbang 原价 90 元 零基础入门 Spark 学习资料💐💐 join 实现机制 Join 有 3 种实现机制,分别是 NLJ(Nested Loop Join)、SMJ&#xf…

【VUE】使用Vue和CSS动画创建滚动列表

使用Vue和CSS动画创建滚动列表 在这篇文章中,我们将探讨如何使用Vue.js和CSS动画创建一个动态且视觉上吸引人的滚动列表。这个列表将自动滚动显示项目,类似于轮播图的方式,非常适合用于仪表盘、排行榜或任何需要在有限空间内展示项目列表的应…

【Altium Designer 20 笔记】隐藏PCB上的信号线(连接线)

使用网络类隐藏特定类型的信号线 如果你想要隐藏特定类型的信号线(例如电源类),你可以首先创建一个网络类。使用快捷键DC调出对象类浏览器,在Net Classes中右击添加类,并重命名(例如为“Power”&#xff0…