Python环境搭建(Python + Qt Quick + PySide2 + VScode)

0. 前言

到现在还是搞不懂Qt,Qt4,Qt5,Qt Designer,Qt Creator,Qt Widgets,Qt Quick,PyQt5,PySide2,PyUic,PyRcc这些乱七八糟的名词的关系,真是好复杂的赶脚QAQ

1. 安装Python

下载地址: https://www.python.org/downloads/
标有[bugfix]的版本不建议下载,建议下载标有[security]的版本
在这里插入图片描述
下面这里是下载的地方,点想下载的版本后面的"Download"即可
在这里插入图片描述
有些下载地址点进去显示"No installer",注意看下面描述,会有说明应该下载具体哪个版本。
比如我点击下载Python 3.9.15,进去提示Python3.9.13是Python 3.9的最后一个完整错误修复版本,所以Python 3.9建议下载Python3.9.13。
在这里插入图片描述
我选择Python3.9.13下载
在这里插入图片描述
进去直接拉到最底下,Files一栏,根据自己电脑系统选择版本,我就选"Windows installer (64-bit)"
在这里插入图片描述
下载完是 python-3.9.13-amd64.exe 这样的安装包,和普通应用一样安装即可。
(我的安装路劲选择在E:\Python3\

安装过程若是没有勾选配置环境变量,需要自己配置环境变量,这里不再赘述。
(我的环境变量添加了2个:E:\Python3E:\Python3\Scripts

2. 搭建虚拟环境

参考来源: https://zhuanlan.zhihu.com/p/484999552
[备注:我的是win10环境下,上述参考来源有详细介绍,我这简写我自己用的步骤]

第一步:打开cmd安装 virtualenv(前提Python环境变量配置好)
pip install virtualenv

执行超时可以修改镜像源,使用清华大学开源软件镜像站进行安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
第二步:新建一个文件夹用于创建虚拟环境
//我新建的文件夹
E:\Python_Virtual_Env
第三步:打开cmd,切换路径到刚才新建的文件夹中,创建虚拟环境,命令如下
E:
cd E:\Python_Virtual_Env
virtualenv env

E:\Python_Virtual_Env目录下创建一个名为 env的虚拟环境

第四步:激活虚拟环境
//激活脚本
E:\Python_Virtual_Env\env\Scripts\activate.bat
//退出脚本
E:\Python_Virtual_Env\env\Scripts\deactivate.bat

3. 虚拟环境下安装Python工具包

  • 打开cmd切换到虚拟环境目录E:\Python_Virtual_Env\env\Scripts
  • 激活虚拟环境:直接执行activate E:\Python_Virtual_Env\env\Scripts>activate
  • pip安装所需工具包:以下命令都在(env) E:\Python_Virtual_Env\env\Scripts>下执行
安装PySide2
pip install shiboken2
pip install PySide2

上面这个安装会超时,这里改用清华大学开源软件镜像站进行安装

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

也可以下载whl安装包文件,然后pip离线安装工具包
PySide2工具包whl文件下载地址:https://pypi.org/project/PySide2/#files
把安装包放入E:\Python_Virtual_Env\env\Scripts下,直接pip命令安装即可:

pip install PySide2-5.15.2.1-5.15.2-cp35.cp36.cp37.cp38.cp39.cp310-none-win_amd64.whl
安装pyuic5,pyrcc5

集成在PyQt5-tools里面

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5-tools
检查安装完成

安装成功后, 在Python虚拟环境Scripts文件夹下会多出许多可执行文件
在这里插入图片描述

4. Pycharm安装与配置

  • 下载地址https://www.jetbrains.com/pycharm/download/#section=windows
  • 安装过程:略
  • 配置虚拟环境
    • 打开/或新建一个Project,

    • 然后依次点击 Flie > Settings > Project: *** > Python Interpreter >
      Add Interpreter > Add Local Interpreter (***是Project的名字)
      在这里插入图片描述

    • 选择第一个Virtualenv Environment,右边选择Existing,然后把上面新建的虚拟环境路径里的python.exe添加上,就可以了。
      在这里插入图片描述

5. Qt安装和配置

  • 安装Qt Creator
    安装过程略,我安装的是Qt 5.12.10版本

  • Qt 配置Python虚拟环境

    • 打开Qt Creator,依次点击顶部菜单栏的 帮助 > 关于插件,在弹出的窗口中找到Other Languages选项,勾选LanguageClient(若已是勾选状态就不用管)。
      在这里插入图片描述

    • 依次点击顶部菜单栏的 工具> 选项,弹出窗口有2个地方需要设置,第一个是Language Client选项,需要新建一个配置,具体步骤如下图
      在这里插入图片描述

    • 第二个要修改的是Python选项,也是需要新建一个配置,具体步骤如下图
      在这里插入图片描述

    • 验证配置:
      新建一个Project,工程类型选择如下图,后面选项自己看着选/填
      在这里插入图片描述

    新建完成后,直接点击左下角的绿色三角形运行图标,看到右边执行程序用的是我们虚拟环境中的Python.exe,说明配置成功了。
    在这里插入图片描述

6. Visual Studio Code环境配置

  • 官网下载https://code.visualstudio.com/
  • 安装:略
  • 配置Python虚拟环境
    • 安装Python插件:插件那里搜Python直接安装即可
    • 打开/新建一个工作文件夹
    • 打开 设置 ,选择需要配置的工作文件夹(我这里是pyTest),左侧菜单栏选扩展 > Python
      在这里插入图片描述
    • 把Python虚拟环境的路径加进去即可。
      在这里插入图片描述
    • 可以看到在settings.json多了2行(原来就有则会改变)
      在这里插入图片描述
    • 随手写一个 hello world 测试下,点击右上角三角形运行,可以看到终端显示我们用的确实是虚拟环境下执行的。
      在这里插入图片描述
      在这里插入图片描述
    • import一个我们在虚拟环境安装的工具包的类,可以看到代码有颜色,并且没有波浪线错误提示,按F12转到定义,能打开虚拟环境中的py文件,说明工作环境是没问题了。
      在这里插入图片描述
  • 配置Qt for Python
    • 安装:插件栏搜Qt for Python直接安装即可
      在这里插入图片描述
    • 我们测试一下,工作文件夹就3个文件,main.pymain.qmlqml.qrcmain.py名字不能改)
      在这里插入图片描述
      各个文件内容如下:
      main.py
# main.py
from PySide2.QtCore import QObject
from PySide2.QtGui import QGuiApplication
from PySide2.QtQml import QQmlApplicationEngine
# import os
import sys

class MyUiSys(QObject):
    def __init__(self, file):
        super().__init__()
        self.Engine = QQmlApplicationEngine()
        self.Engine.load(file)

if __name__ == "__main__":
    app = QGuiApplication(sys.argv)
    UI = MyUiSys("main.qml")
    if not UI.Engine.rootObjects():
        sys.exit(-1)
    sys.exit(app.exec_())

main.qml

// main.qml
import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")

}

qml.qrc

<RCC>
    <qresource prefix="/">
        <file>main.qml</file>
    </qresource>
</RCC>

运行main.py成功弹出Qt窗口
在这里插入图片描述
当然,我们直接cmd命令行执行py程序也可以启动UI窗口,执行指令记录如下:

C:\Users\Admin\Desktop\pyTest>E:\Python_Virtual_Env\env\Scripts\activate.bat
(env) C:\Users\Admin\Desktop\pyTest>python main.py

7. 关于.qrc文件

我们工程配置好图片资源后,会把图片资源打包成xx.py的二进制文件,操作是cmd下执行以下命令(下面的xx和xx_rc名字可以自己任意取,只要对得上就行)

pyrcc5  xx.qrc -o xx_rc.py

然后在工程的main.py里加上一句

import xx_rc

就可以在工程中用qrc:/开头来调用xx.py中的图片资源

source: "qrc:/Image/Button.png"

但是我们是在Python虚拟环境中创建和编译的工程,所以打包指令也得用虚拟环境下的pyrcc5.exe才行
我写了个简单的bat脚本,来一键更新qrc资源,只要修改前面几个设置项,就可以在你电脑上运行啦

:: Update.bat
:: encode by: ANSI (GBK GB2312)

@echo off

:: --------------------------设置源文件和目标文件
set "orgFileName=qml.qrc"
set "dstFileName=qml.py"

:: --------------------------设置是否开启Python虚拟环境
set "Python_VirtualEnv_ON=1"
set "python_env_dir=E:\Python_Virtual_Env\env\Scripts"

:: --------------------------设置使用的Python工具 (pyrcc5 或 pyside2-rcc)
set "python_tool=pyrcc5"

:: --------------------------开始运行
echo 当前目录:%~dp0
echo.

if %Python_VirtualEnv_ON%==1 (
	if EXIST %python_env_dir%\activate.bat (
		call %python_env_dir%\activate.bat
		echo Python虚拟环境已打开
		echo.
	) ELSE (
		echo 错误: Python虚拟环境打开失败, 找不到activate.bat
		echo.
		pause
		exit
	)
)

IF EXIST %orgFileName% (
	echo 检测到  %orgFileName%
	echo.
) ELSE (
	echo 错误: 缺少%orgFileName%源文件
	echo.
	pause
	exit
)

echo 尝试删除旧版  %dstFileName%
echo.
IF EXIST %dstFileName% (
    copy %dstFileName% __backup__.py | find ""
	echo 已删除旧版本  %dstFileName%
	echo.
) ELSE (
	echo 没有旧版本%dstFileName%文件
	echo.
)

%python_tool% %orgFileName% -o %dstFileName%

IF EXIST %dstFileName% (
	echo %dstFileName% 更新成功
	echo.
    IF EXIST __backup__.py (
        del __backup__.py
    )
) ELSE (
	echo %dstFileName% 创建失败, 更新失败, 请检查配置
    echo.
    IF EXIST __backup__.py (
        copy __backup__.py %dstFileName% | find ""
        del __backup__.py
        echo 已还原旧版本
        echo.
    )
)

if %Python_VirtualEnv_ON%==1 (
	if EXIST %python_env_dir%\activate.bat (
		call %python_env_dir%\deactivate.bat
		echo Python虚拟环境已关闭
		echo.
	) ELSE (
		echo 错误: Python虚拟环境关闭失败, 找不到activate.bat
		echo.
		pause
		exit
	)
)

pause

8. 结束

上述讲解若有不对的地方,欢迎指正,毕竟我也是不是很懂

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值