我们在使用Pyqt5制作UI过程中,通常的流程是:
1.用Qt designer 设计好UI界面
2.使用PyUIC将UI文件转换成py文件
3.导入启动部分的代码
但在实际使用过程中,我们经常会反复的调试UI界面,而每次重新生成py文件之后,如果我们在之前的同一个文件下编写代码,则会丢失这部分内容,
为了解决这一点,利用python模块导入的思路,我们可以把UI生成的py文件作为一个模块,引用到新的文件中,在新的文件中只调用,关于槽函数等其他操作在新的文件中编写,这样就可以完美的解决代码重新生成的问题。自己编写了一个模板文件如下,仅供大家参考
from PyQt5 import QtCore, QtGui, QtWidgets
from XXX import Ui_MainWindow
import sys
class window(QtWidgets.QMainWindow,Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
MainWindow = window() # 创建窗体对象
MainWindow.show() # 显示窗体
sys.exit(app.exec_()) # 程序关闭时退出进程
其中第2行中的XXX为py文件的名称,注意命名规则,只要正确导入即可解决,小伙伴们如果有更好的思路欢迎分享