首页>行情>正文
Linux(Ubuntu 22.04)安装PyQt6并在vscode中配置pyqt integration插件使用Designe
2023-08-06 16:42:44    来源:哔哩哔哩

准备学习PyQt6,但家里旧笔记本运行Window 10越来越卡了,于是一怒之下换成了Ubuntu系统。在安装PyQt6时发现Linux系统下的教程太贫乏,尤其是配置designer的方法全是Window系统的,经过一晚上的折腾,终于研究明白怎么安装配置了!

演示用的是刚安装的Ubuntu虚拟机,已经安装好的机器没有必要不要轻易改动。尤其是物理机,配置好要供起来!


(资料图片)

一、安装PyQt6及pyqt6-tools

step 0:检查pip是否正常

使用以下命令查看是否安装了pip(注意V要大写)。一般来说都会有(这一台虚拟机就没有,各种问题全遇到了)

如果不幸是上面的界面,按以下方法:

step 1:先尝试直接安装

这一步可以省略快进到step 2,因为执行的是当前目录的文件。但是各种教程上都有这一步

step 2:如果提示没有文件,可以通过curl进行下载,执行以下三行命令:

安装完毕后输入pip -V命令进行确认

step 3:pip换源。通过-i参数使用临时源会报错,提示该源不被信任,此处仅记录永久换源。(物理机安装的时候清华源有点慢,于是使用了阿里源)

在用户目录下创建“.pip”文件夹(前面有个点!!!)

将源信息写入到文件中(第三行等号后的内容要与url中域名一致,使用其他源时记得换成相应的域名):

如果不会用vi、vim等工具,或是工具无法正常使用,最后一行可以不执行,通过可视化工具进行,如下:进入用户主目录,即“home/用户名”文件夹,点开“显示隐藏文件”,进入“.pip”文件夹。

右键点击选择“用文本编辑器打开”,添加源即可。

step 4:安装pyqt6与pyqt6-tools(designer包含在pyqt6-tools中)

输入以下命令进行安装,只要提示成功即可,中间会因为版本问题有些ERROR,问题不大,有强迫症可以通过“==版本号”安装推荐的版本。

安装命令建议加上sudo,我在安装时没有加sudo,安装后“pyqt6-tools”命令显示不存在,可能是这个原因,解决方法看最后文章第三章step 3(下图的黄字其实已经说明问题了)。出现Successfully installed即可。

至此,pyqt6开发所需模块已安装完毕,可跳至第三部分配置vscode插件。

二、爬坑过程(不重要,主要讲思考过程和原理)

研究四五个小时终于研究明白了(纯纯Linux小白)。

在PyQt5中,Linux查找“designer”可执行文件(如果通过apt安装pyqt5tools-dev和pyqt5tools-dev-tools)、Windows找“”即可。而在PyQt6安装之后,试遍了所有designer文件、找遍了所有可能的目录,都不能成功打开图形化界面。在官方演示中(网页链接找不到了)给出的用法是:

在物理机上可行(可能是安装时用了sudo),于是想到可能换了启动方式,于是在网上搜到可以用whereis命令找到位置:

可以看到,designer是其中的一个参数。

终于找到了目标!并且看起来是个Python的文件,用文本编辑打开看看里面内容。

里面就是几行Python代码。

以下是错误尝试,正确请直接看文章第三部分。觉得挺有趣的就写出来了。

错误尝试1:

尝试将文件添加到pyqt integration插件的Qtdesigner:Path中:

右键PYQT:New Form,意料之外地弹出了错误信息:

经过谨慎的思考,我觉得应该是插件将“pyqt6-tools designer”整个当作文件路径进行打开,也就是说无法设置参数。

错误尝试2:

经过短暂的思考,我认为,想要能打开界面,这段程序中必定要有designer的指向,那么启动时这一长串内容可能包含了启动路径。

依据官方的介绍,PYQTDESIGNERPATH就是要找的路径,但它是空的。随即想到对代码进行调试。经过一个小时的Debug,决定关机睡觉~。(太菜了)

躺在床上翻来覆去睡不着,突然灵光一闪:“designer”是作为参数传进来的,那么直接修改参数就行了,不用管内部是怎么实现的。

成功尝试,解决插件“PYQT:New Form”功能:

于是对文件内容进行了修改,好在Python不需要逆向,直接改源码。复制pyqt6-tools,命名为designer,在import sys下添加('designer')。是个列表,存储了启动时的参数。

控制台输入“designer”成功启动!将文件路径配置到插件里,New Form也可成功执行,终于看到了曙光。

继续尝试,解决插件“PYQT:Edit In Designer”功能:

仔细研究pyqt integration插件可配置项目,有且只有Qtdesigner:Path这一项和designer有关,猜测要被在Designer中编辑的文件也是作为参数传给pyqt6-tools中。

(随手打上去的,没有实际创建)

猜想正确!剩下就是继续修改源码。

[0]是python文件名,‘designer’固定在第二,于是将源码修改为:

将append改为insert,并指定位置为1

插件启动,完美运行。下面开始技术总结。

三、vscode 插件配置

这部分是重点!!!

这部分是重点!!!

这部分是重点!!!

用习惯了“pyqt interation”插件,折腾了这么久全是因为它。插件安装就不说了,直接系统总结。

step 0:安装pyqt6及pyqt6-tools,第一部分已作介绍,不再赘述。

step 1:寻找“pyqt6-tools”文件

step 2:修改执行文件

进入查找出的文件目录,建议先复制一份,保留原文件。修改复制出的文件名为“designer”(名字无所谓,记住就行)。

注意:/.local/文件是隐藏文件夹,用gui界面需要开启“显示隐藏文件”

使用命令行比较方便:

用文本编辑器修改designer文件内容,插入“(1, 'designer')”

step 3:为pyuic6建立软链接(解决“pyqt6-tools”命令找不到的问题)

“pyqt6-tools”无法执行是因为在“/usr/bin/”中没有添加软链接,当然为designer和pyqt6-tools建立软链接在本文中是不需要的,最主要的是需要用到“pyuic6命令”。如果该命令无法执行,那么编译ui文件用到的“pyuic6”命令很可能也无法执行。

在命令行任意位置输入“pyuic6”,如果显示未找到命令,按以下步骤执行。

通过step 1的方法二获取到pyqt6-tools的地址,控制台中选中后按Ctrl+Shift+C复制,粘贴到以下命令中:

step 4:vscode设置

通过“文件-->首选项-->设置”,打开设置页面,搜索“pyqt”即可显示出安装的“pyqt integration”插件。

至此,全部设置结束~

(没睡几个小时,难免有漏洞,还望大家指正)

关键词:

Linux(Ubuntu 22.04)安装PyQt6并在vscode中配置pyqt integration插件使用Designe

准备学习PyQt6,但家里旧笔记本运行Window10越来越卡了,于是一怒之下2023-08-06

l2tp协议详解(l2tp是什么)

来为大家解答以上问题,l2tp协议详解,l2tp是什么很多人还不知道,现在2023-08-06

华为手环b5百度百科(华为手环b5价格)

1、目前华为商城在售的华为手环B5,有以下版本及价格:华为手环B5运动2023-08-06

“沿河稻田几乎都淹了”,今年五常大米会减产几何?

但受台风“杜苏芮”残余环流影响,五常市自8月2日起连续多日降雨量超过2023-08-06

南昌铁路技术学校简介_南昌铁路技术学校

1、有哪位知道有个女英语教师王志红还在那儿吗?57岁左右。本文到此讲2023-08-06

辽宁继续发布辽河洪水黄色预警 水位持续上升

辽宁省河库管理服务中心(辽宁省水文局)2023年08月06日09时04分继续2023-08-06

仪特诺高精度0.0001 万分之一液体比重计ET-120L

高精度0 0001液体比重计ET-120L适用于质检院所、高校、医疗、中高端制2023-08-06

pp材质是什么意思(pp是什么材料的缩写)

p材质是什么意思,pp是什么材料的缩写这个问题很多朋友还不知道,来为2023-08-06

山东德州市平原县发生5.5级地震 震源深度10千米

中国地震台网正式测定:08月06日02时33分在山东德州市平原县(北纬37 12023-08-06

「日照天气」8月6日,温度22℃~27℃,中雨转小雨

日照今日天气今天是8月6日,星期日,农历六月二十。中雨转小雨,北风32023-08-06

防被盗软件(防盗号软件)

我是小前,我来为大家解答以上问题。防被盗软件,防盗号软件很多人还不2023-08-06

里的笔画顺序是什么样子(里的笔画顺序是什么)

的笔画顺序是什么样子,里的笔画顺序是什么这个问题很多朋友还不知道,2023-08-06

C视频·花花“视”界(57)|意义非凡!“小青椒”们在大运村的专属生日派对

在成都第31届世界大学生夏季运动会上,青春活力的志愿者团队是无法忽略2023-08-05

大鹏一日同风起,扶摇直上九万里

今天赚11 2万,涨1 09个百分点,跑赢大盘0 86个百分点,今年赚202 6万2023-08-05

【重磅】超370公顷,涉及澄海这镇二宗预留城乡建设用地…

关于《汕头市澄海区预留城乡建设用地规模使用审批表(六合产业园区起步2023-08-05

花泽类泰国_花泽类

1、以忧郁俊美见称的花泽类,并不是个典型的白羊座男孩,太阳冲冥王带2023-08-05

吉林磐石农商银行稳步推进党支部“三级联创”活动

进一步落实全面从严治党要求,不断提高基层党组织建设水平,吉林磐石农2023-08-05

绯色天空(关于绯色天空的基本详情介绍)

大家好我是小蝌蚪,绯色天空,关于绯色天空的基本详情介绍很多人还不知2023-08-05

斗破苍穹:迦南第一少女紫妍成年,身穿龙凰紫金裙袍,帮助萧炎打爆斗宗大招

紫妍拥有太虚古龙血脉,即便只有斗王实力,她也敢叫嚣斗皇强者。海波东2023-08-05

我的世界 fabric 1.20.1 开发教程 ep4 添加方块

添加block添加ModBlockimportnet fabricmc fabric api item v1 FabricI2023-08-05

Stellantis计划推出售价低于25000欧元的电动汽车

据彭博8月5日消息,随着消费者寻求更实惠的电动汽车,Stellantis计划在2023-08-05

中超泰山VS梅州:费莱尼出战 两将复出帕托替补

8月4日19:35,中超第20轮山东泰山将主场迎战梅州客家,这是两队本赛季2023-08-04

猫眼电影实时票房统计(猫眼电影如何查看实时票房)

今天小鱼来为大家解答以上问题,猫眼电影实时票房统计,猫眼电影如何查2023-08-04

《蔚蓝档案》角色碎片刷取顺序推荐

最近很多玩家都有求助《蔚蓝档案》角色碎片刷取顺序推荐的攻略,下面微2023-08-04

男性早晨第一泡尿若没有3种表现 肾脏算健康

男性早晨的第一泡尿对于肾脏健康的评估具有一定的指示作用,男性第一泡2023-08-04