目录
你是不是遇到过这样的问题:当你写好.ui文件,生成.py文件,改完代码,又想改.ui文件,如果这时候用工具生成.py文件,就会把之前自己辛辛苦苦写的代码又会覆盖掉……
那么为了解决这个问题,我们就要将UI与逻辑代码分离开发,步骤如下:
好了,流程逻辑知道了,下面就要编写相应的业务逻辑代码和main函数了,参考代码如下:
from PyQt5 import QtWidgets, QtGui, QtCore
from py文件名 import 类名
class MainWindow(QtWidgets.QMainWindow, 类名):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
# 此处编辑业务逻辑代码
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
通过这种方法开发PyQt程序,爸爸妈妈就再也不用担心我修改UI窗体啦~
最新版已发布!发布时间:2023.2.14
强烈建议将其设置到编辑器的代码模板中,方便一键调用,代码中间的2条虚线是写逻辑代码的地方。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName :${FILE_NAME}
# @Time :${DATE} ${TIME}
# @Author :JvJv
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QApplication, QStyleFactory
from untitled import Ui_MainWindow
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
# 设置窗口风格为:Fusion
QApplication.setStyle(QStyleFactory.create('Fusion'))
# -------------------------- start ----------------------------------
# -------------------------- end ------------------------------------
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
以PyCharm为例,具体设置流程如下动图:
如有疑问,欢迎小伙伴们在评论区给我留言哈,我看到会第一时间回复哦~