1 pycahrm 安装
官网 https://www.jetbrains.com/pycharm/
2 python 安装
python.org 选择 python3.9
pyside6 support python3.6-python3.9
3 创建虚拟环境
3.9官方文档 : https://docs.python.org/zh-cn/3/library/venv.html
# python3 -m venv /path/to/new/virtual/environmentpython3 -m venv ~/pyside6-env# 也可以在pycahrm 单独项目配置虚拟环境 我基本都使用这一个环境
4 创建新项目
4.1 创建完环境 安装pyside6
pip install pyuic6

5 配置qt designer 和pyside6-uic
5.1 配置qt designer
ps: qt designer 是图形化qt 设计器,pyside6-uic 可以将 qtdesigner 创建的.ui 文件转化成py文件 的脚本

在虚拟环境下 路径下 找到 designer.app 例如 /Users/{bernie}/pysideenv/lib/python3.9/site-packages/PySide6/Designer.app
working directory 同上
5.2 配置pyside6-uic

program: /Users/bernie/pysideenv/bin/pyside6-uicarguments: $FileName$ -o $FileNameWithoutExtension$.pyworking directory: $FileDir$
6 测试成功
6.1 qtdesigner 画个hello world
打开qt designer
6.1.2 创建 widget text 框 并保存到 项目文件夹下
6.1.3
6.2 使用 pyside6-uic 将ui 文件 转化成 py文件
6.2.2 文件代码

# -*- coding: utf-8 -*-################################################################################## Form generated from reading UI file 'untitled.ui'#### Created by: Qt User Interface Compiler version 6.1.1#### WARNING! All changes made in this file will be lost when recompiling UI file!################################################################################from PySide6.QtCore import * # type: ignorefrom PySide6.QtGui import * # type: ignorefrom PySide6.QtWidgets import * # type: ignoreclass Ui_MainWindow(object):def setupUi(self, MainWindow):if not MainWindow.objectName():MainWindow.setObjectName(u"MainWindow")MainWindow.resize(800, 518)self.centralwidget = QWidget(MainWindow)self.centralwidget.setObjectName(u"centralwidget")self.textEdit = QTextEdit(self.centralwidget)self.textEdit.setObjectName(u"textEdit")self.textEdit.setGeometry(QRect(300, 130, 104, 71))MainWindow.setCentralWidget(self.centralwidget)self.menubar = QMenuBar(MainWindow)self.menubar.setObjectName(u"menubar")self.menubar.setGeometry(QRect(0, 0, 800, 24))MainWindow.setMenuBar(self.menubar)self.statusbar = QStatusBar(MainWindow)self.statusbar.setObjectName(u"statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)QMetaObject.connectSlotsByName(MainWindow)# setupUidef retranslateUi(self, MainWindow):MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None))self.textEdit.setHtml(QCoreApplication.translate("MainWindow", u"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n""<html><head><meta name=\"qrichtext\" content=\"1\" /><meta charset=\"utf-8\" /><style type=\"text/css\">\n""p, li { white-space: pre-wrap; }\n""</style></head><body style=\" font-family:'.AppleSystemUIFont'; font-size:13pt; font-weight:400; font-style:normal;\">\n""<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">hello world</p></body></html>", None))# retranslateUi
6.3 启动window
启动需要一个main.py 实例化该对象
整理下文件夹
import sysfrom PySide6.QtWidgets import QApplication, QMainWindowfrom PySide6.QtCore import QFilefrom untitled import Ui_MainWindowclass MainWindow(QMainWindow):def __init__(self):super(MainWindow, self).__init__()self.ui = Ui_MainWindow()self.ui.setupUi(self)if __name__ == "__main__":app = QApplication(sys.argv)window = MainWindow()window.show()sys.exit(app.exec())
6.4 效果

