Python调用UI文件有两种方法,第一种方法在上篇博文已经讲到,将UI文件转换为Python文件,进行调用。
Python Qt GUI设计:将UI文件转换为Python文件的三种妙招(基础篇—2)
今天来聊聊第二种方法:动态加载UI界面。
动态加载UI界面有两种方式。
方式1,代码形式如下所示:
from PySide2.QtWidgets import QApplication,QMessageBox from PySide2.QtUiTools import QUiLoader #导入UI方式1 self.ui = QUiLoader().load('XXX.ui')
方式2,代码形式如下所示:
from PySide2.QtWidgets import QApplication,QMessageBox from PySide2.QtUiTools import QUiLoader from PySide2.QtCore import QFile #导入UI方式2 qfile_UIUI = QFile("XXX.ui") qfile_UIUI.open(QFile.ReadOnly) qfile_UIUI.close() self.ui = QUiLoader().load(qfile_UIUI)
接下来我们看看如何具体使用吧。
方式1,代码实现:
from PySide2.QtWidgets import QApplication,QMessageBox from PySide2.QtUiTools import QUiLoader class UIUI: def __init__(self): self.ui = QUiLoader().load('serial.ui') app = QApplication([]) uiui = UIUI() uiui.ui.show() app.exec_()
方式2,代码实现:
from PySide2.QtWidgets import QApplication,QMessageBox from PySide2.QtUiTools import QUiLoader from PySide2.QtCore import QFile class UIUI: def __init__(self): #先导入.ui文件,然后关闭 qfile_UIUI = QFile("serial.ui") qfile_UIUI.open(QFile.ReadOnly) qfile_UIUI.close() # 导入加载的UI类(返回的就是UI界面对应的QWidget窗体对象) self.ui = QUiLoader().load(qfile_UIUI) # 界面对象 app = QApplication([]) uiui = UIUI() uiui.ui.show() app.exec_()
运行我设计的串口调试助手UI,效果如下所示:
动态加载UI界面的方式可以随时更新调测UI,更加方便快捷,大家可以试试。