一招教你如何解决PyQt5 UI同步更新问题

522 阅读1分钟

我们在使用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文件的名称,注意命名规则,只要正确导入即可解决,小伙伴们如果有更好的思路欢迎分享