Python Qt GUI设计:Python调用UI文件的两种方法(基础篇—3)

Posted 不脱发的程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,效果如下所示:

动态加载UI界面的方式可以随时更新调测UI,更加方便快捷,大家可以试试。

以上是关于Python Qt GUI设计:Python调用UI文件的两种方法(基础篇—3)的主要内容,如果未能解决你的问题,请参考以下文章

Python Qt GUI设计入门PyQt5 的资源调用

Python Qt GUI设计:窗口之间数据传递(拓展篇—5)

Python Qt GUI设计:窗口之间数据传递(拓展篇—5)

Python Qt GUI设计:窗口之间数据传递(拓展篇—5)

Python Qt GUI设计入门

Python Qt GUI设计入门模板类的单继承和多继承封装