PyQT5环境搭建与入门操作(超详细图解安装)

PyQt5软件简介

PyQt5官方版是一款专业优秀的编程工具。PyQt5最新版需要配合Python使用,是Qt C++跨平台应用程序框架和跨平台解释语言Python的结合,支持Windows、OS X、Linux、iOS和Android平台运行。PyQt5软件可以帮助用户从Qt Designer生成Python代码,相当强大。

PyQt5

软件基础简介

      Qt是一套跨平台C++库,可实现高级API,用于访问现代桌面和移动系统的许多方面。这些包括位置和定位服务、多媒体、NFC和蓝牙连接,基于Chromium的网络浏览器以及传统的UI开发。PyQt5是Qt v5的一套全面的Python绑定。它被实现为超过35个扩展模块,并且使Python可以在所有支持的平台(包括iOS和Android)上用作C++的替代应用程序开发语言。PyQt5也可以嵌入在基于C++的应用程序中,以允许这些应用程序的用户配置或增强这些应用程序的功能。

软件特性

      1、软件包含许多插件,使Qt设计师使用Python代码扩展。看到编写Qt Designer插件和集成Python

      2、软件也包含了一些实用程序:

      pyuic5QT corresponds to theUIC功用它的转化qtwidgets使用Qt Designer对Python代码创建基于GUI 。

      pyrcc5QT corresponds to the碾压混凝土功用它将 任意资源(如图标、图片、翻译文件)的 资源集合在一个文件中的Python模块描述

      pylupdate5QT corresponds to thelupdate功用它 提取所有的可翻译字符串从Python代码和创建或更新 TS

      3、dbus.mainloop.pyqt5模块。该模块提供了 支持Qt的事件循环,以同样的方式,dbus.mainloop.glib包括与标准Python的总线绑定包提供了glib事件循环支持

      4、当软件配置文件名pyqt5.api生成。这 可以使用的qscintilla编辑组件启用自动完成使用和电话技巧当软件代码编辑。API文件自动安装如果qscintilla已经安装

      5、软件包括大量实例。这些港口的许多 的C例子提供了Qt的Python。他们可以找到的实例目录

      6、软件包含SIP协议。由SIP应用文件的生成本身。这些可以通过基于类 图书馆其他开发者使用Qt绑定。

PyQt5下载

软件优点

      pyqt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。pyqt5是双重许可。开发者可以在GPL和商业许可之间进行选择。

      pyqt5的类别分为几个模块,包括以下:

      QtCore

      QtGui

      QtWidgets

      QtMultimedia

      QtBluetooth

      QtNetwork

      QtPositioning

      Enginio

      QtWebSockets

      QtWebKit

      QtWebKitWidgets

      QtXml

      QtSvg

      QtSql

      QtTest

安装步骤

1.安装PyQt5之前需要先安装python,安装python十分简单小编就不再累述了,安装的时候只需要注意有一个pip选项记得勾选就行了。(pip能够下载以及安装其他Python包)

2.安装完python之后我们可以在开始菜单或者桌面上看到python ide快捷方式,双击打开可以看到版本等信息,小编这里python 版本信息为3.6.1。接下来您可以从PyQt5官网或者本站下载PyQt5。

PyQt5官方下载

3.从本站下载解压之后发现解压后的文件是"PyQt5-5.8.2-5.8.0-cp35.cp36.cp37-none-win_amd64.whl",这是一个whl文件,这时候就需要我们之前勾选的pip这个工具了。打开安装python时的安装目录,将该路径复制。

4.将该路径添加到你的系统或者用户,PATH变量值中去。

5.之后打开cmd,输入pip install wheel,将出现下图所示界面,表示安装wheel成功。(.whl就是需要wheel工具安装)

PyQt5免费下载

6.安装完wheel之后,进入PyQt5文件所在路径中,输入pip install PyQt5-5.8.2-5.8.0-cp35.cp36.cp37-none-win_amd64.whl。(小编PyQt5文件位于D:谷歌下载,文件名称为“PyQt5-5.8.2-5.8.0-cp35.cp36.cp37-none-win_amd64.whl”)

PyQt5

7.之后在任意目录中新建一个.py文件,在该文件中输入以下代码

import sys

from PyQt5 import QtWidgets, QtCore

app = QtWidgets.QApplication(sys.argv)

widget = QtWidgets.QWidget()

widget.resize(360, 360)

widget.setWindowTitle("Hello, PyQt5!")

widget.show()

sys.exit(app.exec_())

然后保存,将它拖动到python ide上。

8.如果出现下图所示界面,则表示PyQt5安装成功了。

PyQt5下载

PyQT5环境搭建与入门操作

1、pip工具

pip是Python的安装插件的工具,由它安装后的插件有两种情况。即安装全局插件和局部插件。

pip是python中自带的安装命令,它可以在线安装pyhton环境所需要的插件。

pip安装插件有两种方式,第一种在Pycharm编辑工具的终端中安装,这种安装方式属性局部用户安装(即局部安装),它只在当前项目中有效。

第二种在CMD终端中安装,它属于全局用户安装(即全局安装),经它安装后的插件可以在任何项目中使用。该方式安装好后会在Python的安装目录中Lib-->site-packages目录中生成所安装的资源;而局部安装不会在该目录生成相关安装资源。

如下图中使用pip3命令安装了pyqt5相关插件,site-packages目录中便生成相关资源文件。

使用Pycharm创建新项目时,需要勾选Inherit global site-packages选项才可以继承site-packages目录中的插件。

2、安装PyQT5相关插件

在CMD终端中安装,它属于全局用户安装(即全局安装),经它安装后的插件可以在任何项目中使用。该方式安装好后会在Python的安装目录中Lib-->site-packages目录中生成所安装的资源;而局部安装不会在该目录生成相关安装资源。

如下图中使用pip3命令安装了pyqt5相关插件,site-packages目录中便生成相关资源文件。

使用Pycharm创建新项目时,需要勾选Inherit global site-packages选项才可以继承site-packages目录中的插件。

Python的中使用pip命令安装插件,安装插件时pip命令会检测命令是否兼容,如果不兼容终端会提供更新后再安装,更新方式如下:

python -m pip install --upgrade pip

待pip更新后即可以安装插件,下面以安装pyqt5插件为例子。

安装PyQT5插件

安装PyQT5工具包

安装Pyqt5语法检测包(可不安装)

检验是否成功安装,可使用以下命令:

pip3 list

3、在PyCharm中配置QT

首先创建一个新的项目(过程参考1处方法),然后打开File-->Settings,根据下图验证Python的编译环境是否无误;一般Python环境会自动检测,如果没有自动检测出,可以使用1处下拉,手动的设置Python的运行位置。

待Python环境无误后,即可以添加新的外部工具,需要添加Qt Designer和PyUIC两个外部工具。其中Qt Designer是用于启动QT的可视化编程;而PyUIC是用来将QT Designer代码转化成Python代码。

它们两个外部工具的安装方法一样,首先选择File --> settings --> Tools -- External Tools,并点击“+”号添加外部工具。

3.1 添加Qt Designer外部工具,点击加号,进入添加界面,需要添加内容如下图。

注意:

Name为外部工具的名字,可以自定义。

Program为designer.exe可执行程序的地址。该地址是pip命令使用全局方式安装好QT相关的插件后自动生成的,该文件的版本不同位置存放的地址不同,可以借助搜索工具进行查看。designer.ext其实就是Qt开发工具的安装路径。

Working directory为工作路径,在编辑框中填写“$ProjectFileDir$”即可,固定写法。

3.2 添加PyUIC外部工具

PyUIC工具是用于将Qt Designer代码转化为Python代码的工具,添加方式与Qt Designer一样,点击加号,进入添加界面,需要添加内容如下图。

其中Arguments属性是用于设置将ui文件转为py文件的代码,代码格式固定,需要按以下方式填写。

-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

Working directory中的值为“$FileDir$”固定写法。

到此,Python、Qt和Pycharm三个开发工具的环境就整合在一起了。

4、初步使用Qt Designer工具

首先在Pycharm中点击Tools --> External Tools --> Qt Designer工具。

启动Qt Designer工具后的界面如下图所示。

5、创建第一个PyQT5项目
5.1打开Qt Designer开发工具

由于之前将Python、Pycharm和Qt Designer开发工具给整合在一起,所以可以借助Pycharm开发工具打开Qt Designer工具;在Pycharm中点击Tools --> External Tools --> Qt Dsigner按钮,进入到Qt Dsigner开发界面,如下图所示。

5.2编写第一个PyQT程序

在QT Designer开发工具中点击新建(默认自动出现),选择Main Window选择并点击“创建”按钮,生成一个新的QT页面。

生成的新页面如下图所示,当前页面是否保存,并且只有默认名状态,等程序逻辑编写完成后,可以按Ctrl + S键保存该文件。

接下来编写页面内容,下面以一个简单的测试做为例子,在左边“控件”找到Label控制,并选中拖拽到窗口中,将其内容修改为“欢迎使用PYQT5”,如下图所示。

使用Ctrl + C按键,将该文件保存到项目中,如下图所示。

选中该文件(QtTest.ui),单击鼠标右键,选择External Tools --> PyUIC选项,将QtTest.ui文件转为QtTest.py文件,如下图所示。

生成py文件后结果如下图所示。

5.3运行QtTest.py程序

由于生的QtTest.py文件中没有程序主入口,所示要向运行该文件该先创建主入口main方法。main可以写在当前文件中,也可写在另外一个文件中,建议将main方法写在另外一个文件中,因为QtTest.ui修改后,要生成QtTest.py文件时,每次生成将是以覆盖方式生成,会导致每次都要写main方法,相当麻烦,所以建议将该方法写在另一个文件中,这样就不会被覆盖,如下图所示。

要想运行该文件,还需要在main方法中编写相应代码,如下图所示。

5.4打包

5.4.1 安装插件

在第3点中提到的运行方式是在线运行,用于开发时能快速看到运行结果时使用,实际部署时应该将该文件打包是“.exe”后缀的可执行文件,然后双击运行,接下来将讲解在Pycharm中将项目打包成exe文件。

Pycharm中需要先安装pyinstaller插件才能打包Python可执行文件,安装方式有两种,可以在控制台终端安装,如下示例:

pip3 install pyinstaller

也可以使用图型化界面安装,首先选择File --> Settings --> Project:项目名-->Python Interpreter选项,点击“+”号添加新的插件,如下图所示。

安装好后,可以使用pip list查看安装的效果,如下图所示。

5.4.2 开始打包

在Pycharm的控制终端中输入“pyinstaller -F -w MainTest.py”命令进行打包。其中pyinstalle是打包命令。

详细说明如下:

pyinstaller --paths PyQt5模块路径 -F -w --icon=窗口图标文件路径 文件名.py

--paths:指定第三方模块的安装路径

--icon:可选,设置窗口图标

-F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用

-D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,

-K, –tk 在部署时包含 TCL/TK

-a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.

-d, –debug 产生debug版本的可执行文件

-w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)

-c,–nowindowed,–console 使用控制台子系统执行(默认)(只对Windows有效)

打包完成后,会在当前项目中生成一个后缀为exe的可执行文件,双击该文件即可以运行python项目,如下图所示。

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

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

相关文章

C语言“%”运算符是否可以对小数进行运算?

一、问题 “&#xff05;”运算符是否可以对⼩数进⾏运算&#xff1f; 二、解答 “&#xff05;”运算符&#xff0c;称为求余运算符或者模运算符&#xff0c;要求“&#xff05;”两侧都为整型数据&#xff0c;否则将会产⽣错误 #include <stdio.h> int main() {floa…

【性能问题】postman接口测试偶现高延时排查

一、背景 负责的项目&#xff0c;在test环境&#xff0c;postman连续发送两次接口请求&#xff0c;第二次响应时间高达34s&#xff0c;该现象经常出现&#xff0c;影响QA测试执行效率。这种想象持续一段时间了&#xff0c;今天终于忍无可忍&#xff0c;向Dev和SRE发出求助信息…

AI特训一:为什么要学习AI

我们先了解什么是AI AI&#xff08;人工智能&#xff09;是指计算机系统经过学习和推理能够模拟人类智能行为的一种技术。AI利用机器学习、深度学习、自然语言处理等技术&#xff0c;能够分析大量的数据、识别模式、做出决策和预测 AI有哪些强大之处 处理大量数据&#xff1a…

关于 PostgreSQL,你了解多少

背景 最近因工作原因&#xff0c;了解到了阿里的 hologre&#xff0c;它只支持 psql 协议&#xff0c;用起来跟 mysql 会差很多&#xff0c;也很不习惯。所以就好奇&#xff0c;为啥放着mysql不用&#xff0c;却用 psql 什么是 psql psql 是 开源的关系型数据库管理系统 Pos…

关于msvcp140_1.dll丢失的解决方法分析,一键修复msvcp140_1.dll

随着技术的迭代更新&#xff0c;我们对操作系统变得越发依赖。不过&#xff0c;在使用中有时也会遇到技术障碍&#xff0c;诸如遇到 MSVCP140_1.dll 文件不见的情况。本文着重讨论此问题&#xff0c;并展示了若干解决办法&#xff0c;以便教导用户应对及修补MSVCP140_1.dll文件…

拒掉了一个双 985 的面试者

下班路上&#xff0c;和一个大佬聊天&#xff0c;他说今天面试&#xff0c;拒掉了一个双 985 的候选人。 候选人背景很好&#xff0c;本科和硕士都是 985 院校毕业&#xff0c;并且是除了清北浙之外&#xff0c;排名非常靠前的 985院校。 本硕专业都是计算机专业&#xff0c;…

MySQL数据库-理论基础

1.1 什么是数据库 数据&#xff1a; 描述事物的符号记录&#xff0c; 可以是数字、 文字、图形、图像、声音、语言等&#xff0c;数据有多种形式&#xff0c;它们都可以经过数字化后存入计算机。 数据库&#xff1a; 存储数据的仓库&#xff0c;是长期存放在计算机内、有组织…

84 C++对象模型探索。数据语义学 - 继承多个类的时的数据布局问题。

此章节分析多继承问题&#xff0c;难点&#xff0c;但是非重点&#xff0c;实际开发中&#xff0c;多继承用的很少&#xff0c;容易被code review&#xff0c;可以不看。 我们要访问一个类对象中的成员 成员的定位是通过如下两个因素决定的&#xff1a;this指针(编译器会自动调…

向日葵企业“云策略”升级 支持Android 被控策略设置

此前&#xff0c;贝锐向日葵推出了适配PC企业客户端的云策略功能&#xff0c;这一功能支持管理平台统一修改设备设置&#xff0c;上万设备实时下发实时生效&#xff0c;很好的解决了当远程控制方案部署后&#xff0c;想要灵活调整配置需要逐台手工操作的痛点&#xff0c;大幅提…

Redis系列-数据结构篇

数据结构 string&#xff08;字符串&#xff09; redis的字符串是动态字符串&#xff0c;类似于ArrayList&#xff0c;采用预分配冗余空间的方式减少内存的频繁分配。 struct SDS<T>{ T capacity; T len; byte flags; byte[] content; } 当字符串比较短时&#xff0c…

跟着pink老师前端入门教程-day14

2.6 main 主体模块制作 HTML&#xff1a; <div class"w"><div class"main"><!-- 焦点图模块 --><div class"focus"><ul><li><img src"./images/banner_bg.png" alt""></li>…

提高 NFS Azure 文件共享性能

本文内容 适用于增加预读大小以提高读取吞吐量Nconnect另请参阅 本文介绍如何提高 NFS Azure 文件共享的性能。 适用于 展开表 文件共享类型SMBNFS标准文件共享 (GPv2)、LRS/ZRS 标准文件共享 (GPv2)、GRS/GZRS 高级文件共享 (FileStorage)、LRS/ZRS 增加预读大…

指针的深入理解(二)

这节主要复习函数指针 函数指针 函数指针的标志就是int (* ) (数据类型)&#xff0c; 是储存函数的地址的指针变量。函数名就是的首地址。我们平常使用的函数名就是函数的地址&#xff1a; 由此可以发现&#xff0c;我们可以通过函数的地址来使用函数。 那么我们就可以知道函…

什么是Vue Vue入门案例

一、什么是Vue 概念&#xff1a;Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套 构建用户界面 的 渐进式 框架 Vue2官网&#xff1a;Vue.js 1.什么是构建用户界面 基于数据渲染出用户可以看到的界面 2.什么是渐进式 所谓渐进式就是循序渐进&#xff0c;不一定非得把V…

NC开发客户端(前端)连接启动失败can‘t connect to server, please wait

效果图 解决方法 IP地址和端口要对应 1-IP地址中间启动&#xff0c;肯定是这个127.0.0.1 2-端口号&#xff0c;要对应中间件启动在控制台输出的端口 或者是在home目录-》bin-》sysConfig.bat这里面的服务器&#xff0c; 里面可以看到对应启动ip地址和端口

2023年春秋杯网络安全联赛冬季赛_做题记录

可信计算 基于挑战码的双向认证1 可信计算赛题-双向认证挑战模式.docx 使用命令进行SSH登录上去 ssh player8.147.131.156 -p 18341 # 记得加上-p参数指定端口&#xff0c;不然默认的是22端口看见word文档的提示&#xff0c;先尝试一下 直接获得了flag1 web 魔术方…

Linux:理解信号量以及内核中的三种通信方式

文章目录 共享内存的通信速度消息队列msggetmsgsndmsgrcvmsgctl 信号量semgetsemctl 内核看待ipc资源单独设计的模块ipc资源的维护 理解信号量总结 本篇主要是基于共享内存&#xff0c;延伸出对于消息队列和信号量&#xff0c;再从内核的角度去看这三个模块实现进程间通信 共享…

SpringCloudStream整合MQ

目录 概念 快速搭建SCS环境 一秒切换MQ 组件 1. Binder 2. Binding 3. Message 分组消费 概念 Spring Cloud Stream&#xff08;SCS&#xff09; 的主要目标是一套代码&#xff0c;兼容所有MQ, 降低MQ的学习成本&#xff0c;提供一致性的编程模型&#xff0c;让开发者能更…

数据可视化练习

文章目录 试题示例 试题示例 绘制下图所示的表格 根据下表的数据&#xff0c;将班级名称一列作为x轴的刻度标签&#xff0c;将男生和女生两列的数据作为刻度标签对应的数值&#xff0c;使用bar()函数绘制下图所示的柱形图。 方式一 import numpy as np import matplotlib.p…

web自动化搞定文件上传

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…