Anaconda+VSCode+QT Designer配置PyQt5环境

Anaconda+VSCode+QT Designer配置PyQt5环境

本文使用Anaconda+VSCode配置PyQt5环境,在开始之前新建Anaconda的虚拟环境,如果不需要虚拟环境可以直接使用默认的Base环境。另外针对ui文件转py文件报错ImportError: DLL load failed: 找不到指定的模块给出了解决办法

Anaconda的虚拟环境管理

  • 不同的python项目,可能使用了各自不同的python的包、模块;
  • 不同的python项目,可能使用了相同的python的包、模块,但版本不同;
  • 不同的python项目,甚至使用的Python的版本都是不同;

为了让避免项目所使用的Python及包模块版本冲突,所以需要代码运行的依赖环境彼此分开,业内有各种各样的成熟解决方案,但原理都是一样的:不同项目代码的运行,使用保存在不同路径下的python和各自的包模块;不同位置的python解释器和包模块就称之为虚拟环境,具体关系图如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WMYtEKm6-1671616938669)(Anaconda+VSCode+QT Designer配置PyQt5环境.assets/image-20221221172829435.png)]

虚拟环境的本质,就是在你电脑里安装了多个Python解释器(可执行程序),每个Python解释器又关联了很多个包、模块;项目代码在运行时,是使用特定路径下的那个Python解释器来执行

  • 很多开源库版本升级后API有变化,老版本的代码不能在新版本中运行
  • 将不同Python版本/相同开源库的不同版本隔离
  • 不同版本的代码在不同的虚拟环境中运行
  • 通过命令行创建虚拟环境
#格式如下
conda create -n 虚拟环境名字 python=版本  #创建虚拟环境,开始新项目时执行一次
conda activate 虚拟环境名字 #进入虚拟环境,每次打开终端都需要执行
conda deactivate #退出虚拟环境,一般很少使用
conda remove -n 虚拟环境名字 --all  #删除虚拟环境,一般很少使用
#示例
conda create -n test python=3.8
conda activate test
conda deactivate
conda remove -n test --all

安装PyQt5

在新创建的虚拟环境中安装PyQt5

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

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

VSCode安装插件

在vscode应用商店中安装PYQT Integration插件,安装完成后点击pyqt integration右下角的小齿轮,选择扩展设置extension settings,设置下面两个path(可以搜索anaconda和python的安装目录进行查找)

  1. Pyqt-integration › Qtdesigner: Path

我的路径为D:\Anaconda3\Library\bin\designer.exe

  1. Pyqt-integration › Pyuic: Cmd

我的路径为D:\Anaconda3\Scripts\pyuic5.exe

测试使用

  1. 在VSCode工作区右击,选择PYQT:New Form,会弹出designer设计器

  1. 在设计器中进行控件设计,保存。命名为main.ui。回到VSCode,发下工作目录下多出*.ui文件
  2. 右键生成的main.ui,选择PYQT:Compile Form,则会自动生成UI_main.py文件

  1. 新建main.py文件,使用UI_main.py文件
import sys

from PyQt5.QtWidgets import QApplication, QMainWindow

import Ui_main #刚刚生成的py文件

if __name__ =="__main__":
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = Ui_main.Ui_Form() # 
    ui.setupUi(MainWindow)

    MainWindow.show()
    sys.exit(app.exec_())

常见错误:无法将*.ui文件转为py文件

将*.ui文件转为py文件使用的是pyuic5.exe程序,常用的命令为pyuic5 -o destination.py source.ui,其中-o 是操作参数,表示要生成一个文件,即将source.ui转换成destination.py。

在配置好PYQT Integration插件后,经常会遇到ImportError: DLL load failed: 找不到指定的模块的错误。常见原因有两个:

  1. python3.dll丢失:通过Anaconda安装的Python缺少了python3.dll,可以从网上下载python3.dll,然后放到Anaconda中python36.dll所在目录中;
  2. PyQT5包冲突(大部分是这个错误)

原因2的解决方法:

  • 执行pip uninstall PyQt5再重新安装

  • 如果还是不行,则使用pip list命令查看已安装的包,将里面有关PyQt 和Qt的相关项全部卸载,然后重新执行上面的“PyQt5安装”步骤

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PyQt5是一个用于创建图形用户界面(GUI)的Python库,而Qt DesignerQt框架中的一个可视化设计工具,用于创建和编辑GUI界面。PyQt5.QtDesigner模块提供了与Qt Designer的集成,可以使用它来加载和使用Qt Designer创建的UI文件。 要下载PyQt5Qt Designer,可以按照以下步骤进行操作: 1. 安装Python:首先,确保你已经安装了Python。你可以从Python官方网站(https://www.python.org)下载并安装最新版本的Python。 2. 安装PyQt5:打开命令行终端(或者使用Anaconda Prompt),运行以下命令来安装PyQt5: ``` pip install pyqt5 ``` 这将会自动下载并安装PyQt5库。 3. 安装Qt DesignerQt Designer通常是作为Qt框架的一部分提供的。你可以从Qt官方网站(https://www.qt.io)下载并安装Qt开发框架。在安装过程中,确保选择安装Qt Designer。 注意:如果你只需要使用Qt Designer来创建和编辑UI文件,而不需要开发整个Qt应用程序,你可以选择下载Qt Creator,它是一个集成了Qt Designer的IDE。 4. 使用PyQt5.QtDesigner模块:一旦你安装了PyQt5Qt Designer,你就可以在Python代码中使用PyQt5.QtDesigner模块来加载和使用UI文件。以下是一个简单的示例代码: ```python from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5.QtCore import QFile from PyQt5.QtUiTools import QUiLoader app = QApplication([]) window = QMainWindow() # 加载UI文件 ui_file = QFile("path/to/your/ui/file.ui") ui_file.open(QFile.ReadOnly) loader = QUiLoader() window = loader.load(ui_file) ui_file.close() # 显示窗口 window.show() app.exec_() ``` 在上面的代码中,你需要将"path/to/your/ui/file.ui"替换为你实际的UI文件路径。 希望以上信息对你有帮助!如果你有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

步、步、为营

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值