PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程-程序员宅基地

技术标签: python  PyCharm  安装教程  pyqt5  UI界面  

首页图
摘要:Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合。这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的所有工具包,主要内容包括 P y Q t 5 \color{#4285f4}{P}\color{#ea4335}{y}\color{#fbbc05}{Q}\color{#4285f4}{t}\color{#34a853}{5} PyQt5 P y Q t 5 \color{#4285f4}{P}\color{#ea4335}{y}\color{#fbbc05}{Q}\color{#4285f4}{t}\color{#34a853}{5} PyQt5- t o o l s \color{#4285f4}{t}\color{#ea4335}{o}\color{#fbbc05}{o}\color{#4285f4}{l}\color{#34a853}{s} tools的依赖包安装和 Q t \color{#4285f4}{Q}\color{#ea4335}{t} Qt D e s i g n e r \color{#4285f4}{D}\color{#ea4335}{e}\color{#fbbc05}{s}\color{#4285f4}{i}\color{#34a853}{g}\color{#ea4335}{n}\color{#fbbc05}{e}\color{#4285f4}{r} Designer P y U I C \color{#4285f4}{P}\color{#ea4335}{y}\color{#fbbc05}{U}\color{#4285f4}{I}\color{#34a853}{C} PyUIC P y R c c \color{#4285f4}{P}\color{#ea4335}{y}\color{#fbbc05}{R}\color{#4285f4}{c}\color{#34a853}{c} PyRcc三个工具的设置。最后简单演示了PyQt5的调用方式及三个工具的使用方法,其目录如下:

➷点击跳转至主要安装步骤介绍部分☇


前言

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

PyQt5PyQt5是一套Python绑定Digia QT5应用的框架。Qt库是最强大的GUI库之一,PyQt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIXWindowsMac OSPyQt5是双重许可。开发者可以在GPL和商业许可之间进行选择,详细可访问PyQt5的官方网站。——PyQt5中文教程
PyQt5-toolsPyQt5中没有提供常用的Qt工具,比如图形界面开发工具Qt DesignerPyQt5-tools中包含了一系列常用工具。——PyQt5工具文档
Qt Designer:可以通过Qt Designer来编写UI界面,Qt Designer的设计符合MVC的架构,其实现了视图和逻辑的分离,从而实现了开发的便捷。Qt Designer中的操作方式十分灵活,其通过拖拽的方式放置控件可以随时查看控件效果。Qt DesignerPyQt5-tools包一起安装,其安装路径在 “Python安装路径\Lib\site-packages\pyqt5-tools”下。——PyQt5速成教程
PyUICQt Designer生成的.ui文件(实质上是XML格式的文件)可以通过pyuic5工具转换成.py文件。——PyQt5速成教程
PyRcc:在使用PyQt开发界面时,在Qt Designer中使用的图片等资源需要将其编译为py文件,这时需要用到PyRcc工具方便地将qrc文件转换为py文件。——PyQt5安装教程

    作者本人已经进行配置测试了多台Windows 10电脑,特通过本教程将安装配置过程展现给大家,本教程持续更新,如果你有更好的方法或问题,欢迎大家留言。


1. 工具包安装

    对于一个新创建的Python环境,首先需要安装PyQt的相关工具包,因为是Python的依赖包所有可以通过pip进行安装,由于我们在PyCharm中进行程序设计,这里我们可以通过PyCharm中的环境管理界面进行安装。对于新建的项目test,其文件界面如下图(点击可放大查看)所示:

初始项目
一、点击菜单栏“File”,选择弹出的“Setting”选项,如下图(点击可放大查看)所示:

环境配置1
二、选择“Project”,选择弹出的“Project Interpreter”选项,点击可看到当前已安装的环境和依赖包,如下图(点击可放大查看)所示,点击右侧“加号”按钮可添加新的依赖包:

目前安装的依赖包界面

PyQt5

三、可以看出当前尚未安装pyqt5的依赖包,点击“加号”按钮弹出安装界面如下图(点击可放大查看)所示,在搜索框输入“PyQt5”可以搜索到对应的依赖包,点击“Install Package”按钮进行安装(绿色框处可选择安装版本),等待安装完成:

安装pyqt5

PyQt5-tools

四、同样地安装PyQt5-tools工具包,在搜索框中输入“PyQt5-tools”,选中要安装的依赖包,点击“Install Package”进行安装,如下图中所示的步骤所示:

pyqt5-tools安装过程
五、这两个工具包安装完成,返回上一界面可以看到依赖包管理界面中出现了这两个依赖包,如下图所示:

安装完成界面
    至此PyQt的工具包安装完成,在编辑器或命令行可以通过“import PyQt5”调用该库。这里确定一下安装位置,正常情况下这两个包的安装位置在Python的安装目录下的“\Lib\site-packages\”目录,如我这里的两个安装位置如下图所示(我这里Python为虚拟环境,安装位置在“E:\test\venv”):

安装位置


2. 设计工具配置

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

环境变量设置

一、在文件管理器中右击“我的电脑”,弹出快捷菜单,选择“属性”→“高级系统设置”弹出系统属性对话框,如下图所示:

配置系统变量
二、选择“高级”,点击下面的“环境变量”,弹出环境变量设置框,选择系统变量中的“Path”变量,如下图所示:

环境变量
三、双击“Path”环境变量,进入环境变量编辑界面,点击“编辑”在最后添加pyqt5-tools的安装位置,点击确定,如下图所示:

添加path环境变量
这一步也可以选择“浏览”,通过文件夹选择对话框选中pyqt5-tools的安装位置,其安装路径在 “Python安装路径\Lib\site-packages\pyqt5-tools”(需根据实际情况进行修改),如下图(点击放大图片)所示:

浏览选择安装位置
三、在环境变量界面中点击“新建”,在系统环境变量中新建名为“QT_PLUGIN_PATH”的变量,如下图所示:

创建变量
该变量值为Qt插件的安装位置,可通过“浏览目录”依次找到“plugins”文件夹,通常其位置在“Python安装路径\Lib\site-packages\PyQt5\Qt\plugins\”位置(需根据实际情况修改),点击“确定”,如下图所示:

变量位置
    环境变量设置完成,接下来介绍在PyCharm中设置Qt工具,主要包括Qt DesignerPyUICPyRcc这三个工具,前言中已介绍其作用,下面依次介绍工具设置过程。

Qt Designer

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

添加工具
点击“加号”按钮新建工具,弹出工具配置界面:在“Name”一栏填写“Qt-Designer”;在“Program”一栏填写designer.exe文件位置,我这里位置为:“E:\test\venv\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe”(需根据实际情况填写);在“Working directory”一栏填写“$FileDir$”。最后点击“OK”,如下图所示:

Designer配置
二、点击菜单栏“Tools”,弹出下拉框,选择“External Tools”,弹出工具选择框。选择“Qt-Designer”并点击,若出现Qt Designer的软件界面则表示配置成功,当然也可能出现如下的问题框:

运行Qt-Designer
若出现以上问题,解决方案是将pyqt5_tools\Qt\plugins文件夹进行复制,覆盖到site-packages\pyqt5_tools\Qt\bin目录下,覆盖后的文件夹如下:

覆盖文件夹
以上操作后,再次按照步骤二的操作即可打开Qt Designer软件界面。

PyUIC

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

二、Program中填写pyuic5.exe这个程序的文件路径,一般在“Python环境目录\Scripts\pyuic5.exe”(此处需根据实际情况修改),也可以点击右侧的文件夹选择按钮浏览文件夹选中该位置;

PyUIC配置

三、在Arguments中内容填写如下:

$FileName$
-o
$FileNameWithoutExtension$.py

四、Working directory内容填写如下:

$FileDir$

五、完成填写后,点击“OK”,以上步骤参考图片中的步骤。

PyRcc

一、PyRcc工具的配置方式与PyUIC相似,同样在“External Tools”设置中点击“加号”按钮,在设置框中“Name”一栏填写“PyRcc”;

PyRcc配置
二、Program中填写pyrcc5.exe这个程序的文件路径,一般在“Python环境目录\Scripts\pyrcc5.exe”(此处需根据实际情况修改),也可以点击右侧的文件夹选择按钮浏览文件夹选中该位置;

三、在Arguments中内容填写如下:

$FileName$
-o
$FileNameWithoutExtension$_rc.py

四、Working directory内容填写如下:

$FileDir$

五、完成填写后,点击“OK”,以上步骤参考图片中的步骤。


3. 使用演示

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

打开工具
    打开软件后,在弹出的引导界面选择“Main Window”,然后点击“Create”按钮,创建一个窗体界面,如下图所示:

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

在这里插入图片描述
    在软件界面左侧的控件选择栏中拖动两个“Label”控件到中间的设计框中,如下图所示:

拖动图片

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

新建qrc文件
    如下图所示,点击新建(1号标注)按钮新建一个qrc文件,创建qrc文件后点击添加文件(2号标注),向qrc资源文件中添加两张图片,最后点击“OK”确定。

添加文件
    选中添加进来的label窗体,在右侧属性编辑栏中的“text”属性中“pixmap”一栏选择“Choose Resource”,如下图所示:

选择资源
    在资源选择框中选择刚刚添加进qrc的图片,点击确定,对另一个label也进行同样的操作,如下图所示:

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

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

在这里插入图片描述
    在PyCharm中选中保存的qrc文件,使用“Tools”下的“External Tools”中的“PyRcc”工具将该资源文件转换为需要的py文件。

在这里插入图片描述
    在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中点击运行该文件,最终运行界面如下所示:

运行界面


结束语

    因为本博文主要介绍安装步骤,关于PyQt的设计博文中介绍较简单,更加详细的讲解将在后面的教程中介绍。由于博主能力有限,博文中提及的方法即使经过试验,也难免会有疏漏之处。希望您能热心指出其中的错误,以便下次修改时能以一个更完美更严谨的样子,呈现在大家面前。同时如果有更好的实现方法也请您不吝赐教。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_32892383/article/details/108867482

智能推荐

基于高德地图实现完全自定义Marker_高德地图 marker 自定义-程序员宅基地

文章浏览阅读1.3w次,点赞5次,收藏11次。  做地图社交类APP开发的都知道,一般情况下,为了整体的美观和用户体验度,我们需要定制化Marker的样式。本文中实现的方式都是基于高德地图的,百度地图也类似,大家可以照葫芦画瓢,废话不多说,先来看看最终效果:实现思路: 先来看看高德官方提供的设置Marker图标的方法:我们可以看到setIcon()方法,里面的参数BitmapDescriptor就是我们最终需要的东西。那..._高德地图 marker 自定义

软件测试基础知识 —— 白盒测试-程序员宅基地

文章浏览阅读4.4k次,点赞3次,收藏32次。白盒测试:白盒测试(White Box Testing)又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试只测试软件产品的内部结构和处理过程,而不测试软件产品的功能,用于纠正软件系统在描述、表示和规格上的错误,是进一步测试的前提。_白盒测试

嘿牛程序员__成都传智博客__包装类(二)_test6–自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程-程序员宅基地

文章浏览阅读1.8k次。---------------------- android培训、java培训、期待与您交流! ----------------------本节继续研究包装类前面说过实现字符输入流的包装类时,我们可以借助Reader和FileInputStream进行读取文件。我们继续介绍ReaderReader、InputStreamReader、FileReader三者的关系,是继承的关系。Fil_test6–自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程

文本挖掘学习笔记(一)—布尔检索_布尔检索例子-程序员宅基地

文章浏览阅读4.2k次。最近在学习文本挖掘,故而把书中关键的内容做个笔记,方便以后查阅。 信息检索是从大规模非结构化数据(通常是文本)的集合(通常保存在计算机上)中找出满足用户需求的资料的(通常是文档)的过程。按照所处理的数据的规模,信息检索可以分为三个级别: 第一个级别是以web搜索为代表的大规模级别; 第二个级别是小规模,可以看成是与第一种规模相对的另一极端情况;_布尔检索例子

Linux源码解析-内存描述符(mm_struct)_mm_struct *mm-程序员宅基地

文章浏览阅读1.7k次。转自https://blog.csdn.net/tiankong_/article/details/756761311.简介一个进程的虚拟地址空间主要由两个数据结构来描述。一个是最高层次的:mm_struct(定义在mm_types.h中),一个是较高层次的:vm_area_structs。最高层次的mm_struct结构描述了一个进程的整个虚拟地址空间。较高层次的结构vm_area_..._mm_struct *mm

瞎想-电信IPTV如何做到真高清真4K直播_湖南电信iptv模糊-程序员宅基地

文章浏览阅读2.3w次。瞎想-电信IPTV如何做到真高清真4K直播前几天看电信IPTV,发现高清足球大镜头的时候,基本看不清球员号码,有时候球员的头都比较模糊。 我真的比较纳闷,电信都开始100M宽带起步了,为什么连10M的高清频道都无法展现好呢?我觉得IPTV肯定遇到了什么带宽瓶颈,但是具体瓶颈在哪,我不好说,也说不好。突然有个想法,IPTV是否能够参考广电的架构,完成高质量的直播呢? 甚至是4K直播。..._湖南电信iptv模糊

随便推点

AD器件距离过近报错 AD修改丝印的距离间距_ad中丝印间距规则怎么改-程序员宅基地

文章浏览阅读1.8w次,点赞21次,收藏80次。今天画板子遇见了一个间距报错,图片如下我当时想着,修改丝印的间距就可以了,查找了一些资料之后发现是这样修改并且我将其修改到了0但是结果还是如上图一样,报错。最后发现除此之外,我们还需要修改元件之间的电气距离修改完成之后就OK!..._ad中丝印间距规则怎么改

论文笔记-End-to-End Human Pose and Mesh Reconstruction with Transformers(使用TransFormer进行端到端的人体姿态估计和网格重建)-程序员宅基地

文章浏览阅读2.4k次,点赞3次,收藏17次。代码和预训练模型:https://github.com/microsoft/MeshTransformer摘要:文章提出MEsh TRansfOrmer(METRO)方法,用于从单个图像重建三维人体姿态和网格顶点。其中用到了注意力编码器来联合建模顶点-顶点和顶点-关节的交互,并同时输出三维关节坐标和网格顶点。介绍:复杂的关节运动和咬合带来了很多挑战。在这方面的工作分为两类①使用参数模型并学习预测形状和姿态系数(SMPL,用到了β和θ作为输入参数,其中β代表是个人体高矮胖瘦、头身比等比例的10个参数.

srpg 胜利条件设定_英雄联盟获胜条件-程序员宅基地

文章浏览阅读601次。srpg 胜利条件设定 介绍 (Introduction)The e-sports community has been growing rapidly in the past few years, and what used to be a casual pastime has morphed into an industry projected to generate $1.8 B in r..._first inhibitor

sed 简明教程_sed.exe移动匹配行-程序员宅基地

文章浏览阅读1.1k次。awk于1977年出生,今年36岁本命年,sed比awk大2-3岁,awk就像林妹妹,sed就是宝玉哥哥了。所以 林妹妹跳了个Topless,他的哥哥sed坐不住了,也一定要出来抖一抖。sed全名叫stream editor,流编辑器,用程序的方式来编辑文本,相当的hacker啊。sed基本上就是玩正则模式匹配,所以,玩sed的人,正则表达式一般都比较强。同样,本篇文章不会说sed的全部东西,你可_sed.exe移动匹配行

Java总结进阶之路 (基础四)I/O流_java进阶之路-程序员宅基地

文章浏览阅读246次。输入流、输出流 笔记汇总_java进阶之路

BusyBox ifup udhcpc后台运行-程序员宅基地

文章浏览阅读183次。/********************************************************************** * BusyBox ifup udhcpc后台运行 * 说明: * 发现ifup会调用udhcpc,但是并不会切换到后台运行,解决一下。 * * ..._udhcpc 后台持续