天天看點

Python Qt GUI設計:Python調用UI檔案的兩種方法(基礎篇—3)

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,效果如下所示:

Python Qt GUI設計:Python調用UI檔案的兩種方法(基礎篇—3)

動态加載UI界面的方式可以随時更新調測UI,更加友善快捷,大家可以試試。