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

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

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

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

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

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

  1. from PySide2.QtWidgets import QApplication,QMessageBox
  2. from PySide2.QtUiTools import QUiLoader
  3. #导入UI方式1
  4. self.ui = QUiLoader().load('XXX.ui')

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

  1. from PySide2.QtWidgets import QApplication,QMessageBox
  2. from PySide2.QtUiTools import QUiLoader
  3. from PySide2.QtCore import QFile
  4. #导入UI方式2
  5. qfile_UIUI = QFile("XXX.ui")
  6. qfile_UIUI.open(QFile.ReadOnly)
  7. qfile_UIUI.close()
  8. self.ui = QUiLoader().load(qfile_UIUI)

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

方式1,代码实现:

  1. from PySide2.QtWidgets import QApplication,QMessageBox
  2. from PySide2.QtUiTools import QUiLoader
  3. class UIUI:
  4. def __init__(self):
  5. self.ui = QUiLoader().load('serial.ui')
  6. app = QApplication([])
  7. uiui = UIUI()
  8. uiui.ui.show()
  9. app.exec_()

方式2,代码实现:

  1. from PySide2.QtWidgets import QApplication,QMessageBox
  2. from PySide2.QtUiTools import QUiLoader
  3. from PySide2.QtCore import QFile
  4. class UIUI:
  5. def __init__(self):
  6. #先导入.ui文件,然后关闭
  7. qfile_UIUI = QFile("serial.ui")
  8. qfile_UIUI.open(QFile.ReadOnly)
  9. qfile_UIUI.close()
  10. # 导入加载的UI类(返回的就是UI界面对应的QWidget窗体对象)
  11. self.ui = QUiLoader().load(qfile_UIUI) # 界面对象
  12. app = QApplication([])
  13. uiui = UIUI()
  14. uiui.ui.show()
  15. app.exec_()

运行我设计的串口调试助手UI,效果如下所示:

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

关注公众号,发送关键字:Java车牌识别,获取项目源码。