Pycharm配置pyside6
安装pyside6.7+python3.12
1. 配置Pycharm外部工具
参考:https://blog.csdn.net/weixin_44779079/article/details/144874369
使用PySide2框架需要三个工具辅助开发, 分别是Qt Designer、PySide-uic以及PySide-rcc,三者功能如下:
Qt Designer:可视化编辑UI界面,生成.ui文件。
PySide-uic: 将.ui文件转换为.py文件,以便修改和导入。
PySide-rcc: 将.qrc文件(资源文件)转换为.py文件。
程序通常在如下目录:
[安装目录]\Scripts\pyside6-designer.exe
[安装目录]\Scripts\pyside6-rcc.exe
[安装目录]\Scripts\pyside6-uic.exe
各项工具的配置信息如下:
1.1 Qt Designer
名称:任意即可(建议pyside6-designer)
组:pyside6
程序:$PyInterpreterDirectory$/pyside6-designer.exe
实参:$FilePath$
工作目录:$FileDir$
1.2 pyside6-rcc
名称:任意即可(建议ui2py,这样一目了然)
组:pyside6
程序:$PyInterpreterDirectory$/pyside6-rcc.exe
实参:$FileName$ -o $FileNameWithoutExtension$_rc.py
工作目录:$FileDir$
1.3 pyside6-uic
名称:任意即可(建议pyside2-uic,理由同上)
组:pyside6
程序:$PyInterpreterDirectory$/pyside6-uic.exe
实参:$FileName$ -o $FileNameWithoutExtension$.py
工作目录:$FileDir$
2. 初始化模板
window.ui, 需要创建QMainWindow,QWidget不支持自适应布局
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>22</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
通过pyside6-uic将ui文件转为py文件
Metatrader5UI.py
from PySide6.QtCore import *
class Ui_window(object):
def setupUi(self, window):
if not window.objectName():
window.setObjectName(u"window")
window.resize(716, 530)
self.retranslateUi(window)
QMetaObject.connectSlotsByName(window)
# setupUi
def retranslateUi(self, window):
window.setWindowTitle(QCoreApplication.translate("window", u"Form", None))
# retranslateUi
main.py
from PySide6.QtWidgets import *
import sys
from metatrader5.com.ui.window import Ui_window
# 窗口类
class Metatrader5UI(QMainWindow,Ui_window):
# QMainWindow是窗口类型,Ui_MainWindow是ui转换后文件的那个class名,一般是Ui_窗口objectName
def __init__(self):
super().__init__()
self.setupUi(self) # 初始化ui
self.show() # 显示窗口
if __name__ == "__main__":
app = QApplication() # 初始化Application
window = Metatrader5UI() # 启动窗口
sys.exit(app.exec_()) # 窗口关闭后退出 PySide6

浙公网安备 33010602011771号