通常来说开发Qt的界面基本都在Qt Designer中进行的,它保存的文件为.ui,我们可以通过uic将其转变为.py文件(如何使用:Pyside6:安装及Pycharm配置_pyside6安装pycharm-CSDN博客)。
那么该如何进行加载呢?大致来说有两种方法:
一、使用QUiLoader加载
from PySide6.QtUiTools import QUiLoader
from PySide6.QtWidgets import QApplication
from PySide6.QtCore import QFile
import sys
if __name__ == '__main__':
app = QApplication(sys.argv)
ui_file = QFile("ui/xxx.ui")
ui_file.open(QFile.ReadOnly)
loader = QUiLoader()
window = loader.load(ui_file)
window.show()
sys.exit(app.exec())
这个非常简单,无需把.ui文件进行转换,但**loader.load(ui_file)**出来的类型都是基本类型,可能无法完成很多自定义的开发需求。所以需要扩展QUiLoader进行派生类调用,还有一些QUiLoader的方法可以使用,但本篇不讨论。
二、使用.py加载
# -*- coding: utf-8 -*-
from PySide6.QtWidgets import QApplication
import sys
from MyMainWindow import MyMainWindow
from ui import main_window_ui
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = MyMainWindow()
ui = main_window_ui.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec())
该方法需要uic进行转换为.py,此时可以直接使用一个我们的派生类进行扩展,非常方便。
三、总结
真实开发环境还是使用.py开发最合适,因此更推荐第二种方法。
版权归原作者 monsterk1 所有, 如有侵权,请联系我们删除。