PyCharm配置外部工具,将.ui文件编译为Python代码,完成GUI项目
任务目标
安装PyCharm,在PyCharm里面配置PySide6的uic外部工具,一键把Qt Designer导出的 .ui 文件转换成 .py 界面代码,组成可运行GUI项目。
前置准备
已经完成任务1,有 main.ui 文件、pyside6_gui环境,PySide6已经装好
PyCharm社区版(免费足够开发PySide6)
✅ PyCharm官方下载链接
https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=windows&code=PCC
步骤1:安装PyCharm
- 双击安装包,一路next
- 勾选选项:Add launchers dir to PATH,关联
.py文件 - 打开PyCharm,【新建项目】
- Python解释器选择:Existing environment
解释器路径选中我们刚才的虚拟环境:
D:\miniconda3\envs\pyside6_gui\python.exe

选好现有的Python环境。
步骤2:在PyCharm添加【外部工具 PySide6-UIC】(核心)
打开【菜单】设置:File → Settings → Tools → External Tools
点击右上角 + 新建工具,参数填写如下:
| 参数 | 填写内容 |
|---|---|
| Name | PySide6-UIC |
| Description | ui文件转python界面代码 |
| Program | D:\miniconda3\envs\pyside6_gui\Scripts\pyside6-uic.exe |
| Arguments | -o $FileNameWithoutExtension$.py $FileName$ |
| Working directory | $FileDir$ |
参数解释:
$FileName$= 当前选中的ui文件
$FileNameWithoutExtension$.py= 和ui同名、后缀py的输出文件
$FileDir$= ui文件所在文件夹
可选拓展:你还可以用同样方式,添加另外2个外部工具
- PySide6-Designer:Program填
D:\miniconda3\envs\pyside6_gui\Scripts\pyside6-designer.exe - PySide6-RCC:Arguments
-o $FileNameWithoutExtension$_rc.py $FileName$

步骤3:使用外部工具编译ui文件
- 在PyCharm项目文件夹里放入之前Qt Designer保存好的
main.ui - 在项目窗口选中
main.ui,文件上右键快捷菜单命令。 - 或顶部菜单:
Tools → External Tools → PySide6-UIC - 自动在同目录生成
main.py(界面代码文件)


执行后,在项目中编译出来了一个新文件main.py

步骤4:在PyCharm中需要切换到你的Python环境才能正确执行Python程序所需要的依赖包,加载【pyside6_gui】环境。需要分成2个步骤。先打开一个终端,再输入conda激活环境的命令。

步骤5:还需要另外新建Python程序文件: main_run.py,加载界面运行GUI
main.py文件是 pyside6-uic 从.ui 文件编译出来的界面定义文件(Ui_MainWindow 类),它只有界面描述,没有启动 Qt 应用的主程序代码。直接运行它,代码跑完立刻结束,窗口一闪而过。
⚠️ 重点:这个自动生成的 .ui 文件不要直接运行,也不要在这里手写逻辑,重新 uic 编译会覆盖删掉你的代码!
新建 main_run.py,最简可运行代码:
python
import sys
from PySide6.QtWidgets import QApplication, QMainWindow
from main import Ui_MainWindow # 刚刚uic生成的py里面的UI类
class MyWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self) # 加载布局
if __name__ == "__main__":
app = QApplication(sys.argv)
win = MyWindow()
win.show()
sys.exit(app.exec())

方案 1(推荐,切回你之前的pyside6_gui环境)
PyCharm 右下角,点 Python 解释器,切换成 pyside6_gui
终端里确认:看到 PySide6 就对了,再运行 main_run.py


终端:(pyside6_gui) ✅ conda 识别成功,终端里面可以正常 pip 装包
PyCharm 解释器下拉:看不到 pyside6_gui❌ PyCharm 扫描失败
重点:终端激活 ≠ 设置的PyCharm 项目解释器,两者是分开的!哪怕终端是 pyside6_gui,PyCharm 运行代码依旧会用选中的其它python解释器,这就是你直接右键运行时的情况。
重要补充:PyQt6 和 PySide6 的区别
PyQt6本身自带uic;但是Designer等工具需要额外安装包
⚠️ 推荐课程统一用PySide6,开源协议更宽松,工具自带不用额外装包,适合教学
踩坑清单
- 外部工具路径写错:复制路径时,确认是envs下面pyside6_gui里面的Scripts,不是base环境!
- Arguments写错,生成空白py文件:严格复制
-o $FileNameWithoutExtension$.py $FileName$ - 运行提示找不到Ui_MainWindow:必须先执行uic编译,生成py文件,再import
- 修改ui界面之后:要重新执行一次PySide6-UIC,刷新py代码