python 3.10上如何安装pyqt5
作者:染指13 发布时间:2022-04-09 23:59:53
python 3.10上安装pyqt5
前言
首先,看一下自己电脑上的python的版本,网上有太多乱七八糟的教程,啥也不说就硬教,跟着做的话就会出现稀里糊涂的报错,很耽误时间。我就是因为网上的教程痛苦了一天
回到正题,首先,就目前而言,想要在python 3.10上安装 PyQt5 的还是别努力了。pyqt5能在python3.10 环境安装成功的版本是5.15.6 , 而pyqt5-tools的最新版本是:pyqt5-tools 5.15.4.3.2,所以就会出现这样一个状况,python3.10只能安pyqt5 5.15.6,而pyqt5-tools只能到pyqt5-tools 5.15.4.3.2,tools的版本跟不上,所以在安装tools的时候怎么安都安不上。
一部分小傻子,明白为什么你tools安不上了吗。
那最简单的解决办法就是降低你的python版本,我在python 3.9 上安装成功,所以,下面会给出在python 3.9上如何安装pyqt5.
第二个方法,我们安装tools的目的是使用tools中的 PyQt5Designer 所以可以直接放弃安装 tools 下载一个 designer的安装包来直接安装 designer 。不过我并没有进行操作,因为在正常安装完tools后要进行环境变量的配置,但直接安装 designer 的话我不明白该怎么去配置环境变量,所以我并没有进行尝试,再此只是给出说明,提供思路。
那么下面就是如何在python 3.9 上安装 pyqt5.
第一步,安装嘛
我用的是pip安装,需要SIP的支持,所以呢,先安装sip
# 安装sip
pip install sip
# 安装pyqt5 大小写都可
pip install PyQt5
# 安装 tools工具
pip install PyQt5-tools
我觉得啊,应该是不会报错了,如果再有什么错误那就是我没遇到过的了,emmmm,,,就,自求多福吧。
昂,还有,如果你直接复制我上面的代码的话下载起来会很慢,超级慢(我自己就是),所以呢,可以选择用几个国内的镜像库来节省时间
下面的是一些国内的源:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
1.安装PyQt5
采用命令安装,Win+R,输入CMD,打开命令框,输入以下命令。
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
2.安装Qt的工具包
pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple
到这里 安装pyqt5 和tools 应该就没有问题了。
这里给出我安装完之后的相关库的版本号,如果最终安装后的版本不同,那后面的文件位置可能会有出入,要自行查找哦!
第二步,配置环境变量
这个大家应该都知道在哪配置环境变量,就不说了。
变量名:QT_QPA_PLATFORM_PLUGIN_PATH
变量值:“Python的实际安装目录”\Lib\site-packages\pyqt5_tools\Qt\plugins
这里的python的实际安装目录要根据你自己的python位置填啊,我还特意加粗了,再直接复制可不赖我。
第三步,在pycharm里进行配置
对不起,孩子比较懒就直接在图片上划了几下,首先第一步点击【文件】打开【设置】,点击【外部文件】,点击【+】来创造一个外部文件,名字随便起一个。
接下来是重点【5】的位置要输入pyqt5-tools下的designer.exe 但问题就在于网上的一部分教程中的位置并不对,因为新版本采取了不同的命名,文件的位置也不太相同。下面是我的designer.exe的位置,其中python39 是存放python3.9的文件夹,这样大家应该都能找到了了吧。
哦,查找自己电脑里python位置的方法是在cmd命令行里键入
where python
快去看看自己电脑里是不是有好几个稀里糊涂下载的python版本吧
【6】的位置的也不是我截图里的那个,要输入的是这个:
$FileDir$
至于我截图里的,是我已经全部完成后它自己变得,这就涉及到我的知识盲区了啊,我也不知道为啥是这个,不过确实是。
点完确定之后呢,我们就获得了一个外部工具,但我们还需要一个,我们刚刚创建的是打开 designer的外部工具,现在要创建的是将我们在 designer 中设计的图形界面程序变换成.py的程序。
有了上面的经验,这回注重的就三个地方,第一个要的是你的python.exe 怎么找到python的位置在上面已经告诉你了,就不说了昂。
第二个直接复制吧,虽说网上的教程有好多错误,但也有正确的部分,虽然这样有对有错最烦人了。。。
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
第三个与上面那个一样,去上面复制,算了,还是我复制吧,毕竟我看教程的时候也喜欢傻瓜一点。可以不费脑子最好了。
$FileDir$
现在,我们创建了两个外部工具,就可以自己进行界面的设计了。
在pycharm里找【工具】,找【外部工具】,看到没,我标箭头那两个就是我们刚自己创建的外部工具。
其中 jiemian1是用来启动 designer 的,第二个是将第一个的产物变成python程序的。
直接点【jiemian1】,会弹出来的。
到这里具体的我就不会了,怎么设计什么的我也得现学去了,但是设计好之后保存就好了,当然是保存到pycharm的项目里,因为一会我们还要用到第二个外部工具呢。
保存好后返回pycharm,看到没,我刚刚随便设计(算不上设计)的ui程序,右键,找到外部工具,点第二个,.py 文件就会生成。
但,此时的py文件直接运行还不可以,要在代码的最后加上一段代码来让它完整。果然最有灵魂的东西还得是我来。
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
加完之后就可以直接右键运行啦。
来源:https://blog.csdn.net/yfdgbfvd/article/details/122914885


猜你喜欢
- 本文实例讲述了Go语言Web编程实现Get和Post请求发送与解析的方法。分享给大家供大家参考,具体如下:这是一篇入门文章,通过一个简单的例
- 前言:vue调用本地摄像头实现拍照功能,由于调用摄像头有使用权限,只能在本地运行,线上需用https域名才可以使用。实现效果:1、摄像头效果
- 一、背景分析对想要在视觉化环境下制作复杂网页的专业网页制作者来说,Dreamweaver已经渐渐在网页编辑工具中展露头角,成为专业人士编写网
- 一、前言嗨,大家好,我是新发。有同学私信我让我写一篇Unity网格相关的教程,那我就带大家来一次Unity的网格探险之旅吧~二、Hello
- 每个电子商务数据分析师必须掌握的一项数据聚类技能如果你是一名在电子商务公司工作的数据分析师,从客户数据中挖掘潜在价值,来提高客户留存率很可能
- 整理文档,搜刮出一个vue事件对象、冒泡、阻止默认行为的代码,稍微整理精简一下做下分享。事件对象<!DOCTYPE html>&
- 代码如下:CREATE TABLE #tmptb(tbname sysname,tbrows int ,tbREserved varchar
- 最近遇到一个头疼的问题,用socket接收到一个字符串格式如下:{“trade_status”: {“desc”: “\u30106\u30
- 如下所示:# coding=utf-8import osimport cv2videos_src_path = "/home/wg
- 这些年来,我发现许多开发者对于何时使用数据操纵语言(DML)触发器与何时使用约束感到迷惑。许多时候,如果没有正确应用这两个对象,就会造成问题
- 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往
- 前言本文参考了以下代码Windows系统环境下Python脚本实现全局“划词复制”功能from py
- 需要把ip地址转换为10进制数,然后也可以把10进制数转化为ip地址,计算机ping这个十进制数可以ping通对应的ip地址,说明已经实现功
- Vuex实现购物车功能(附:效果视频),供大家参考,具体内容如下功能描述:加购删除加减全选反选选中计算总价存储整体演示效果如下:首先介绍一下
- 概述前段时间突然发现,我之前对git stash的使用都是错误的。具体说来,我是这么使用的:在远端有新的提交,需要git pull来拉取合并
- range()函数配合循环一块使用很方便,今天来整理一下这个函数的主要用法,以及几个小例子首先来看一下函数原型,非常简单: range(st
- 这是一个通过js实现的支付后的页面,点击支付会跳出一个弹窗,提示你是否要确定支付,确定后进入付后界面,该页面有着10秒倒计时,计时结束后便会
- Elasticsearch查询查询分类:基本查询:使用es内置查询条件进行查询组合查询:把多个查询组合在一起进行复合查询过滤:查询的同时,通
- 在写桌面软件时,通常会使用到托盘上的泡泡提示功能,让我们来看看使用python如何实现这个小功能。一、Linux系统在Linux上,实现一个
- 本文实例讲述了python列表操作之extend和append的区别。分享给大家供大家参考。具体如下:li = ['a',