【PycharmPyqt designer桌面程序设计】
在 main.py
中调用 Qt Designer 生成的 windows.py
(假设它是 PySide2 版)。 只要把两个文件放在同一目录即可直接运行。
────────────────────
1️⃣ windows.py(Qt Designer 生成,已转码)
# -*- coding: utf-8 -*-
# 由 Qt Designer 生成
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *class Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(400, 300)self.centralwidget = QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.pushButton = QPushButton(self.centralwidget)self.pushButton.setObjectName("pushButton")self.pushButton.setText("点我")self.pushButton.setGeometry(QRect(150, 120, 93, 28))MainWindow.setCentralWidget(self.centralwidget)
────────────────────
2️⃣ main.py(主程序)
import sys
from PySide2.QtWidgets import QApplication, QMainWindow
from windows import Ui_MainWindow # 导入界面类class MyWindow(QMainWindow, Ui_MainWindow):def __init__(self):super().__init__()self.setupUi(self) # 初始化界面self.pushButton.clicked.connect(self.say_hello)def say_hello(self):self.pushButton.setText("Hello PySide2!")if __name__ == '__main__':app = QApplication(sys.argv)w = MyWindow()w.show()sys.exit(app.exec_())
────────────────────
运行方式
python main.py
────────────────────
要点回顾
- 在
main.py
中导入:from windows import Ui_MainWindow
- 自定义窗口类继承
QMainWindow
和Ui_MainWindow
,并调用self.setupUi(self)
完成界面绑定。 - 所有自定义逻辑(槽函数、信号连接等)写在自定义类里即可,永远不改动
windows.py
,方便后续再次用 Designer 修改界面。 - 这里有一个问题是如何做好版本控制,目前还没有特别好的办法