【学习记录】快速上手 PyQt6:设置 Qt Designer、PyUIC 和 PyRCC 在 PyCharm中的应用

文章目录

    • [📌 前言](#📌 前言)
    • [✅ 第一步:安装 PyQt6 及其工具包](#✅ 第一步:安装 PyQt6 及其工具包)
    • [🔧 第二步:找到相关工具路径](#🔧 第二步:找到相关工具路径)
    • [🧰 第三步:在 PyCharm 中配置外部工具](#🧰 第三步:在 PyCharm 中配置外部工具)
      • 打开设置
      • [🛠️ 配置 Qt Designer](#🛠️ 配置 Qt Designer)
      • [🛠️ 配置 PyUIC6(UI转Python)](#🛠️ 配置 PyUIC6(UI转Python))
      • [🛠️ 配置 PyRCC6(资源文件编译)](#🛠️ 配置 PyRCC6(资源文件编译))
    • [💡 第四步:实际使用流程示例](#💡 第四步:实际使用流程示例)
      • [1. 使用 Qt Designer 创建 UI 文件](#1. 使用 Qt Designer 创建 UI 文件)
      • [2. 使用 PyUIC6 转换 UI 文件](#2. 使用 PyUIC6 转换 UI 文件)
      • [3. 编写主程序调用 UI](#3. 编写主程序调用 UI)
      • [4. 使用 PyRCC6 编译资源文件(可选)](#4. 使用 PyRCC6 编译资源文件(可选))
    • [🧩 其他 IDE 配置方法(简要说明)](#🧩 其他 IDE 配置方法(简要说明))
      • [Visual Studio Code](#Visual Studio Code)
      • [Microsoft Visual Studio 2022](#Microsoft Visual Studio 2022)
    • [✅ 总结](#✅ 总结)

📌 前言

在使用 PyQt6 进行图形界面开发时,Qt Designer 是一个非常强大的可视化 UI 设计工具。通过它,你可以拖拽控件快速设计界面,并生成 .ui 文件。为了将 .ui 文件转换为 Python 可用的代码,我们还需要使用 pyuic6 工具;而资源文件(如图标、图片)则需要使用 pyrcc6 编译为 .py 文件。

本文将详细介绍:

  • 如何安装 Qt Designer;
  • 如何在常用 IDE 中添加 QtDesigner、PyUIC 和 PyRCC 作为外部工具;
  • 如何使用这些工具完成从设计到代码生成的全过程。

✅ 第一步:安装 PyQt6 及其工具包

确保你已经安装了 PyQt6 和相关工具:

bash 复制代码
pip install pyqt6 pyqt6-tools

✅ 安装完成后:

  • designer.exe 就是 Qt Designer;
  • pyuic6 用于将 .ui 文件转为 .py
  • pyrcc6 用于将 .qrc 资源文件编译为 .py

🔧 第二步:找到相关工具路径

安装完成后,在你的 Python 环境目录下查找以下三个关键程序:

默认路径如下(根据你的 Python 版本和安装位置可能不同):

工具名称 示例路径
Qt Designer C:\Users\用户名\AppData\Local\Programs\Python\Python311\Scripts\designer.exe
PyUIC6 C:\Users\用户名\AppData\Local\Programs\Python\Python311\Scripts\pyuic6.exe
PyRCC6 C:\Users\用户名\AppData\Local\Programs\Python\Python311\Scripts\pyrcc6.exe

📌 提示:你也可以在命令行输入以下命令来查看具体路径:

bash 复制代码
where designer
where pyuic6
where pyrcc6

🧰 第三步:在 PyCharm 中配置外部工具

打开设置

打开 PyCharm → FileSettings (Ctrl + Alt + S)ToolsExternal Tools

点击 + 添加新工具。


🛠️ 配置 Qt Designer

  • Name: Qt Designer
  • Description: 启动 Qt 可视化界面设计器
  • Program : 浏览选择 designer.exe
  • Arguments : $FileName$
  • Working directory : $FileDir$

🛠️ 配置 PyUIC6(UI转Python)

  • Name: PyUIC6
  • Description: 将 .ui 文件转换为 Python 代码
  • Program : 浏览选择 pyuic6.exe
  • Arguments : -x "$FileName$" -o "$FileNameWithoutExtension$.py"
  • Working directory : $FileDir$

📌 使用方式:右键 .ui 文件 → External Tools → Run PyUIC6,即可生成对应的 .py 文件。


🛠️ 配置 PyRCC6(资源文件编译)

  • Name: PyRCC6
  • Description: 将 .qrc 资源文件编译为 Python 代码
  • Program : 浏览选择 pyrcc6.exe
  • Arguments : "$FileName$" -o "$FileNameWithoutExtension$_rc.py"
  • Working directory : $FileDir$

📌 使用方式:右键 .qrc 文件 → External Tools → Run PyRCC6,生成 _rc.py 文件供主程序引用。


💡 第四步:实际使用流程示例

1. 使用 Qt Designer 创建 UI 文件

  • 打开 Qt Designer(可通过 PyCharm 外部工具启动)
  • 新建一个 Main WindowWidget
  • 拖入按钮、标签等控件并布局
  • 保存为 main_window.ui

2. 使用 PyUIC6 转换 UI 文件

  • 在 PyCharm 中右键 main_window.ui
  • 选择 External Tools → PyUIC6
  • 自动生成 main_window.py 文件

3. 编写主程序调用 UI

python 复制代码
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow
from main_window import Ui_MainWindow

class MyMainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

        # 绑定按钮事件
        self.pushButton.clicked.connect(self.on_click)

    def on_click(self):
        print("按钮被点击")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyMainWindow()
    window.show()
    sys.exit(app.exec())

4. 使用 PyRCC6 编译资源文件(可选)

如果你在 .ui 中使用了图标或其他资源,需创建 .qrc 文件并编译:

xml 复制代码
<RCC>
    <qresource prefix="/">
        <file>icon.png</file>
    </qresource>
</RCC>

右键 .qrc 文件 → Run PyRCC6 → 生成 _rc.py 文件后,在代码中引用即可:

python 复制代码
self.pushButton.setIcon(QIcon(':/icon.png'))

🧩 其他 IDE 配置方法(简要说明)

Visual Studio Code

  • 使用 Tasks 或扩展(如 "Python Qt Tools")
  • 自定义 tasks.json 文件配置命令行执行 pyuic6 / pyrcc6

Microsoft Visual Studio 2022

  • 使用"外部工具"菜单(Tools → External Tools...)
  • 添加 Qt Designer、PyUIC6、PyRCC6 的快捷方式

✅ 总结

通过本文的指导,你可以在常用的开发环境中轻松集成 Qt Designer、PyUIC 和 PyRCC 工具,实现从界面设计到代码生成的一站式开发流程。这不仅提升了开发效率,也让界面设计更加直观、专业。


📌 如果你觉得这篇文章对你有帮助,请点赞 + 收藏 + 分享,让更多人了解如何解决 Element UI 引入时的样式报错问题!

💬 欢迎留言讨论你在使用 Element UI 或其他 UI 框架时遇到的类似问题。

相关推荐
Julyyyyyyyyyyy8 分钟前
【软件测试】web自动化:Pycharm+Selenium+Firefox(一)
python·selenium·pycharm·自动化
萌新小码农‍1 小时前
Spring框架学习day7--SpringWeb学习(概念与搭建配置)
学习·spring·状态模式
蓝婷儿1 小时前
6个月Python学习计划 Day 15 - 函数式编程、高阶函数、生成器/迭代器
开发语言·python·学习
行云流水剑1 小时前
【学习记录】深入解析 AI 交互中的五大核心概念:Prompt、Agent、MCP、Function Calling 与 Tools
人工智能·学习·交互
love530love1 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
一弓虽1 小时前
zookeeper 学习
分布式·学习·zookeeper
苗老大1 小时前
MMRL: Multi-Modal Representation Learning for Vision-Language Models(多模态表示学习)
人工智能·学习·语言模型
水银嘻嘻2 小时前
05 APP 自动化- Appium 单点触控& 多点触控
python·appium·自动化
狐凄2 小时前
Python实例题:Python计算二元二次方程组
开发语言·python