pyqt环境配置

文章目录

    • [1 概述](#1 概述)
    • [2 PyQt6和PySide6区别](#2 PyQt6和PySide6区别)
    • [3 环境配置](#3 环境配置)
    • [4 配置PySide6](#4 配置PySide6)
    • [5 配置PyQt6](#5 配置PyQt6)
    • [6 配置外部工具](#6 配置外部工具)
    • [7 添加模板](#7 添加模板)
    • [8 使用pyside6-project构建工程](#8 使用pyside6-project构建工程)
    • [9 常见错误](#9 常见错误)
    • [10 相关地址](#10 相关地址)

更多精彩内容
👉内容导航 👈
👉Qt开发 👈
👉python开发 👈

1 概述

通常说的PyQt其实是分为PyQt和PySide两类。

PyQt6 和 PySide6 都是用于创建跨平台图形用户界面(GUI)应用程序的 Python 绑定库,它们基于 Qt 库。两者的主要区别在于其授权模式、开发和维护团队的不同和部分语法不同。

环境说明

环境 版本
python V3.13.2
系统 windows10
pycharm pycharm-community-2024.3.5.exe
PySide6 PySide6.9
tomlkit 0.13.2

2 PyQt6和PySide6区别

名称 PyQt6 PySide6
开发方 Riverbank Computing 维护 Qt 官方维护 (The Qt Company)
许可证 GPLv3 或商业许可 LGPLv3
API 兼容性 与 Qt6 完全绑定,主动跟进新特性 严格遵循 Qt6 官方 API,更新较稳定
模块导入方式 from PyQt6 import QtCore from PySide6 import QtCore
信号与槽语法 使用 pyqtSignal / pyqtSlot 使用 Signal / Slot

授权模式

  • PyQt6: 使用的是 GPL(GNU General Public License)和商业许可。这意味着如果你要开发一个开源项目并且项目本身也使用 GPL 许可,那么使用 PyQt6 是没有问题的。但是,如果你开发的是一个闭源的商业项目,那么你需要购买商业许可。
  • PySide6: 采用的是 LGPLv3/GPLv3(GNU Lesser General Public License)和商业许可。LGPL 对于链接到库的软件,而不是库本身,提供了更宽松的授权条件。也就是说,即使你的项目是闭源的,只要不是 Qt 库本身,你也可以在没有购买商业许可的情况下使用 LGPL。

开发和维护团队

  • PyQt6: 主要由 Riverbank Computing 公司负责开发和维护。
  • PySide6: 由 The Qt Company 负责开发和维护,这家公司是 Qt 库的官方所有者。

PyQt6

优点:

  • 拥有成熟的社区支持和丰富的文档。
  • 提供了对 Qt 库功能的完整覆盖。

缺点:

  • 对于商业用途,如果没有购买商业许可,可能会受到 GPL 许可的限制。
  • 在安装和配置上可能会遇到一些复杂性,特别是对于新手来说。

PySide6

优点:

  • 对于商业用途,LGPL 提供了更大的灵活性。
  • 由于是官方维护,可能会获得更快的更新和更好的性能表现。

缺点:

  • 相较于 PyQt6,社区支持相对较少,可能会遇到一些问题时没有足够的资源来解决。
  • 文档的丰富程度和易用性可能会稍逊一筹。

3 环境配置

  1. 下载安装python

  2. 下载安装pycharm

  3. 下载安装Qt,可以在Qtcreator中开发pyqt,也可以使用Qt安装包中自带的帮助文档,但是qtcreator对python语法支持没有pycharm好(可选)。

  4. 修改pip源,否则默认源安装会非常慢,

  5. 使用阿里云pip镜像;

  6. 在windows中的C:\Users\用户名路径下创建一个.pip文件夹,然后再在.pip文件夹中创建一个pip.conf文件,将下列内容添加到pip.conf文件中;

    shell 复制代码
    [global]
    index-url = http://mirrors.aliyun.com/pypi/simple/
    
    [install]
    trusted-host=mirrors.aliyun.com

4 配置PySide6

安装方法1:使用命令行在线安装

shell 复制代码
pip install pyside6   # 默认安装最新版本
pip install pyside6==6.4.1  # 安装指定版本
pip install --index-url=https://download.qt.io/snapshots/ci/pyside/6.4/latest pyside6 --trusted-host download.qt.io  从指定服务器安装

安装方法2: 使用pycharm安装

  • 打开pycharm,创建一个工程;

  • 选择python软件包,搜索PySide6,如下所示,点击【安装】;

安装方法3: 下载whl安装包,离线安装,对于内网环境或者网络不好pip安装失败的环境可用

  • 进入pyside下载地址或者pypi下载地址;

  • 选择需要的版本,这里选择的是最新版本

  • 然后搜索自己的系统平台,这里搜索win_amd64,可以看到有6个whl包;

  • 分别下载6个whl到本地,如下图所示;

  • 创建一个requirements.txt文件,将所有whl包名称添加到requirements.txt文件中;

  • 使用pycharm创建一个工程。

  • 点击终端,然后使用pip install xxx.whl命令进行安装;

  • 或者进入whl包所在路径,使用pip install -r requirements.txt命令进行安装;

5 配置PyQt6

6 配置外部工具

  1. 打开【设置】【工具】【外部工具】,点击+;

  2. 添加designer,设置程序路径工作目录如下所示;

  3. 添加pyside6-uic

  4. 添加pyside6-project,用于构建pyqt工程;

7 添加模板

这一步不是必须,可以通过designer创建UI文件。

  1. 在pycharm中创建Qt ui文件可通过设置文件模板的方式实现;

  2. 打开【设置】【编辑器】【文件和代码模板】;

  3. 选择【文件】,点击+,设置扩展名为ui,添加ui模板如下所示;

    xml 复制代码
    <?xml version="1.0" encoding="UTF-8"?>
    <ui version="4.0">
     <class>Widget</class>
     <widget class="QWidget" name="Widget">
      <property name="geometry">
       <rect>
        <x>0</x>
        <y>0</y>
        <width>400</width>
        <height>300</height>
       </rect>
      </property>
      <property name="windowTitle">
       <string>Widget</string>
      </property>
     </widget>
     <resources/>
     <connections/>
    </ui>

8 使用pyside6-project构建工程

  1. 创建一个名称.pyproject文件;

  2. 按下列格式添加需要构建的文件名称,会批量将ui文件生成ui_name.py文件;

    json 复制代码
    {
        "files": [
            "main.py",
            "widget.ui",
            "widget1.ui"
        ]
    }
  3. 注意:pyside6-project需要tomlkit库支持。

9 常见错误

  1. 缺失tomlkit

    shell 复制代码
    Traceback (most recent call last):
    File "E:\Code\py\untitled1\.qtcreator\Python_3_13_2venv\Lib\site-packages\PySide6\scripts\project.py", line 10, in <module>
    from project_lib import (QmlProjectData, check_qml_decorators, is_python_file, migrate_pyproject,
    ... <3 lines>...
    ClOptions, DesignStudioProject)
    File "E:\Code\py\untitled1\.qtcreator\Python_3_13_2venv\Lib\site-packages\PySide6\scripts\project_lib\__init__.py", line 46, in <module>
    from .utils import (run_command, requires_rebuild, remove_path, package_dir, qtpaths,
    qt_metatype_json_dir, resolve_valid_project_file)
    File "E:\Code\py\untitled1\.qtcreator\Python_3_13_2venv\Lib\site-packages\PySide6\scripts\project_lib\utils.py", line 12, in <module>
    from .pyproject_toml import parse_pyproject_toml
    File "E:\Code\py\untitled1\.qtcreator\Python_3_13_2venv\Lib\site-packages\PySide6\scripts\project_lib\pyproject_toml.py", line 8, in <module>
    import tomlkit
    ModuleNotFoundError: No module named 'tomlkit'
    15:15:57: 进程"E:\Code\py\untitled1\.qtcreator\Python_3_13_2venv\Scripts\pyside6-project.exe"退出,退出代码 1 。
    15:15:57: Error while building/deploying project untitled1 (kit: Python 3.13.2)
    15:15:57: When executing step "Run PySide6 project tool"
    • 解决办法:
      1. 下载tomlkit包进行安装;
      2. 使用pip install tomlkit命令进行安装。

10 相关地址

相关推荐
noravinsc42 分钟前
python提升图片清晰度
开发语言·python
声声codeGrandMaster1 小时前
Django之modelform使用
后端·python·django
水w4 小时前
【Python爬虫】简单案例介绍1
开发语言·爬虫·python
FreakStudio6 小时前
一文速通 Python 并行计算:07 Python 多线程编程-线程池的使用和多线程的性能评估
python·单片机·嵌入式·多线程·面向对象·并行计算·电子diy
GOTXX7 小时前
【Qt】Qt Creator开发基础:项目创建、界面解析与核心概念入门
开发语言·数据库·c++·qt·图形渲染·图形化界面·qt新手入门
小臭希8 小时前
python蓝桥杯备赛常用算法模板
开发语言·python·蓝桥杯
mosaicwang8 小时前
dnf install openssl失败的原因和解决办法
linux·运维·开发语言·python
蹦蹦跳跳真可爱5898 小时前
Python----机器学习(基于PyTorch的乳腺癌逻辑回归)
人工智能·pytorch·python·分类·逻辑回归·学习方法
Bruce_Liuxiaowei8 小时前
基于Flask的Windows事件ID查询系统开发实践
windows·python·flask
carpell9 小时前
二叉树实战篇1
python·二叉树·数据结构与算法