安装Pyside 6

0 阅读2分钟

安装Pyside 6

一、前言

最近的AI Agent编写需要用到界面交互,比如CLI对话机器人,我们只能看到命令行,没法看到交互界面。想到了使用Python写界面,就想到了PyQt和PySide,PySide还没有用过(以前都是用PyQt),就安装一个用一下。

PyQt 和 PySide 是 Python 对 Qt 的绑定,而 Qt 是目前最强大的跨平台 UI 框架之一(C++ 写的)。

PySide6 —— 官方出品、LGPL 免费商用、API 和 PyQt 几乎一样。

截止到2026.08月份,最新的稳定版本是6.11.2

Qt 的版本策略是 PySide6 跟随 Qt6 的主版本号一起演进,目前并没有 PySide7,还在 6.x 线上持续更新。

二、安装

我之前创建一个虚拟环境,所以我也把这个pyside6也安装在虚拟环境中。

进入虚拟环境

在虚拟环境中执行安装命令

pip install pyside6

安过程如下:

我们验证一下:

python -c "import PySide6; print(PySide6.__version__)"

可以看到安装的版本是6.11.2

同时,我们可以看到相关的文件:

同时,可以看到

使用PySide框架需要三个工具辅助开发, 分别是Designer、PySide6-uic以及PySide6-rcc

三者功能如下:

**pyside6-designer:**可视化编辑UI界面,生成.ui文件。

pyside6-uic: 将.ui文件转换为.py文件,以便修改和导入。

pyside6-rcc: 将.qrc文件(资源文件)转换为.py文件。

三、PyCharm配置PySide6

1、选择“文件(File)”->"设置"

2、添加

选择“外部工具”->"+",创建工具

3、添加 uic:
实参:$FilePath$ -o $FileDir$\$FileNameWithoutExtension$_ui.py
工作目录:$ProjectFileDir$

4、添加 rcc:
实参:$FilePath$ -o $FileDir$\$FileNameWithoutExtension$_rc.py
工作目录:$ProjectFileDir$

5、添加完成之后如下图所示

四、PyCharm中创建PySide6项目

1、创建一个项目

2、创建一个main.py文件

3、通过外部工具打开Qt Designer

Qt Designer如下

选择一个Widget窗口,并创建

拖一个QPushButton和QLabel

重命名为test1.ui

在项目目录下,可以看到这个文件

对着test1.ui鼠标右键,选择外部工具->pyuic,就可以执行ui文件转换为py文件。

然后生成了对应的py文件

写入代码:

import sys
from PySide6.QtWidgets import QApplication, QLabel, QPushButton, QVBoxLayout, QWidget, QMainWindow

from test1_ui import Ui_Form


class Window(QWidget, Ui_Form):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.connect_signals()

    def connect_signals(self):
        self.pushButton.clicked.connect(self.my_btn_clicked)  # 绑定确定按钮事件

    def my_btn_clicked(self):
        self.label.setText('hello world')  # 点击确定按钮显示hello world


def main():
    app = QApplication(sys.argv)
    mywindow = Window()
    mywindow.show()
    sys.exit(app.exec())


if __name__ == "__main__":
    main()

运行结果如下:

参考连接:

- [PySide6 官方文档](doc.qt.io/qtforpython…)
- [Qt Designer 教程](doc.qt.io/qt-6/qtdesi…)
- [PySide6 示例代码](github.com/pyside/pysi…)

本文原创作者:冯一川(csdn:ifeng12358),未经作者授权同意,请勿转载。