当前位置: 首页 > news >正文

pyqt环境配置

文章目录

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


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

1 概述

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

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

环境说明

环境版本
pythonV3.13.2
系统windows10
pycharmpycharm-community-2024.3.5.exe
PySide6PySide6.9
tomlkit0.13.2

2 PyQt6和PySide6区别

名称PyQt6PySide6
开发方Riverbank Computing 维护Qt 官方维护 (The Qt Company)
许可证GPLv3 或商业许可LGPLv3
API 兼容性与 Qt6 完全绑定,主动跟进新特性严格遵循 Qt6 官方 API,更新较稳定
模块导入方式from PyQt6 import QtCorefrom 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文件中;

    [global]
    index-url = http://mirrors.aliyun.com/pypi/simple/
    
    [install]
    trusted-host=mirrors.aliyun.com
    

4 配置PySide6

  • 官方地址

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

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

  • pypi下载地址;
  • 与PySide6类型,可以使用pip install PyQt6,但是PyQt6默认不包含开发工具,需要单独安装,详细看https://pypi.org/project/pyqt6-tools/;

6 配置外部工具

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

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

    在这里插入图片描述

  3. 添加pyside6-uic

    在这里插入图片描述

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

    在这里插入图片描述

7 添加模板

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

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

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

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

    <?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文件;

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

9 常见错误

  1. 缺失tomlkit

    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"退出,退出代码 115: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 相关地址

  • Qt for Python地址
  • pyside6下载地址1
  • pyside6下载地址2
  • PySide6包依赖
  • PyQt6地址
  • PyQt6文档
  • PyQt6下载地址

相关文章:

  • hevc编码芯片学习-VLSI实现
  • aes密钥如何生成固定的16位呢?
  • 大表查询的优化方案
  • 【ComfyUI】蓝耘元生代 | ComfyUI深度解析:高性能AI绘画工作流实践
  • 详细介绍7大排序算法
  • Nginx用途以及好处:
  • Oracle数据库数据编程SQL<9.2 数据库逻辑备份和迁移Data Pump (EXPDP/IMPDP) 导出、导入>
  • 大型语言模型中中医知识的多模态基准数据集
  • HarmonyOS:使用Refresh组件实现页面下拉刷新
  • css中的3d使用:深入理解 CSS Perspective 与 Transform-Style
  • Python Cookbook-6.2 定义常量
  • 数据结构考研复习
  • python蓝桥杯备赛常用算法模板
  • Firewalld服务
  • Spring MVC 请求处理流程详解
  • MySQL联合查询||多表查询
  • Ubuntu安装Docker容器,通过Tomcat部署项目
  • Linux服务之网络共享
  • 深度学习总结(13)
  • 抢票方案推荐(推荐语言)
  • 证监会发布上市公司信披豁免规定:明确两类豁免范围、规定三种豁免方式
  • 最新研究挑战男性主导说:雌性倭黑猩猩联盟对付雄性攻击,获得主导地位
  • “网红”谭媛去世三年:未停更的账号和困境中的家庭
  • 中国工程院院士、歼八Ⅱ飞机系统工程副总设计师温俊峰逝世
  • 上海市闵行区原二级巡视员琚汉铮接受纪律审查和监察调查
  • 中国和阿塞拜疆签署互免签证协定