pyside6使用QUiLoader加载UI文件

holmes8699 投稿日時は 11 日前 48 表示


动态加载UI文件,就不用每次把ui转换为py文件了,懒人必备。

from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.QtCore import QFile, QIODevice
from PySide6.QtUiTools import QUiLoader

# 创建一个QApplication实例(如果还没有的话)
app = QApplication([])

# 使用QUiLoader加载UI文件
loader = QUiLoader()
file = QFile(r"D:\python\playwright\code\app\test.ui")
if file.open(QIODevice.ReadOnly):
    main_window = loader.load(file)
    file.close()
else:
    print("无法加载UI文件")
    raise SystemExit
# 显示主窗口
main_window.show()
# 进入应用程序的主事件循环
app.exec()
  • 如果你的UI文件中有自定义的类或者信号和槽的连接,你可能需要在加载UI后手动进行这些设置。例如,如果你在Qt Designer中设置了信号和槽,你可能需要使用main_window.someWidget.clicked.connect(someFunction)这样的代码来连接它们。
  • 使用QUiLoader的好处是它允许你在运行时动态地加载UI,这在某些情况下非常有用,比如当你需要根据不同条件加载不同的UI时。