我们配置好 QtDesigner 后,就可以在 IDE 中创建.ui
文件了
from PySide6.QtWidgets import QApplication
from PySide6.QtUiTools import QUiLoader
application = QApplication([])
ui_loader = QUiLoader()
ui = ui_loader.load('say_hello.ui')
ui.show()
application.exec()
还有一种使用UI文件的方式:先把UI文件直接转化为包含界面定义的Python代码文件,然后在你的程序中使用定义界面的类
执行如下格式的命令转化
pyside6-uic say_hello.ui > say_hello_ui.py
代码文件中这样使用定义界面的类
from PySide6.QtWidgets import QApplication,QWidget
from say_hello_ui import Ui_Form
application = QApplication([])
# 实例化自定义 ui 类
ui = Ui_Form()
# 由于我们的 ui 窗体选择的是QWidget,所以这里实例化一个QWidget
window = QWidget()
# 初始化界面
ui.setupUi(window)
window.show()
application.exec()
按照规范编码的形式,我们应该这么写
from PySide6.QtWidgets import QApplication,QWidget
from say_hello_ui import Ui_Form
class MyWindow(QWidget,Ui_Form):
def __init__(self):
super().__init__()
self.setupUi(self)
application = QApplication([])
my_window = MyWindow()
my_window.show()
application.exec()
通常采用动态加载比较方便,因为改动界面后,不需要转化,直接运行,特别方便。
但是,如果你的程序里面有非qt designer提供的控件, 这时候,需要在代码里面加上一些额外的声明,而且可能还会有奇怪的问题。往往就要采用转化Python代码的方法。