写点什么

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

  • 2021 年 11 月 11 日
  • 本文字数:789 字

    阅读完需:约 3 分钟

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

Python 调用 UI 文件有两种方法,第一种方法在上篇博文已经讲到,将 UI 文件转换为 Python 文件,进行调用。

Python Qt GUI设计:将UI文件转换为Python文件的三种妙招(基础篇—2)

今天来聊聊第二种方法:动态加载 UI 界面。

动态加载 UI 界面有两种方式。

方式 1,代码形式如下所示:


from PySide2.QtWidgets import QApplication,QMessageBoxfrom PySide2.QtUiTools import QUiLoader #导入UI方式1self.ui = QUiLoader().load('XXX.ui')
复制代码

方式 2,代码形式如下所示:

from PySide2.QtWidgets import QApplication,QMessageBoxfrom PySide2.QtUiTools import QUiLoaderfrom  PySide2.QtCore import QFile #导入UI方式2qfile_UIUI = QFile("XXX.ui")qfile_UIUI.open(QFile.ReadOnly)qfile_UIUI.close()self.ui = QUiLoader().load(qfile_UIUI)
复制代码

接下来我们看看如何具体使用吧。

方式 1,代码实现:

from PySide2.QtWidgets import QApplication,QMessageBoxfrom 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,QMessageBoxfrom PySide2.QtUiTools import QUiLoaderfrom  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,更加方便快捷,大家可以试试。

用户头像

【研究方向】物联网、嵌入式、AI、Python 2018.02.09 加入

【公众号】美男子玩编程,关注获取海量资源~

评论

发布
暂无评论
Python Qt GUI设计:Python调用UI文件的两种方法(基础篇—3)