转换后的视觉问候世界 python

converted visual hello world python

我有一个 directory/folder 包含两个文件, MainWindow.py Mainwindow.ui

我已经在 QtDesigner6 中设计了我的 MainWindow.ui 并进行了转换 输出文件到 MainWindow.ui

我有一个代码 window 可以启动 window/form 并显示 在它的完全荣耀中显示了一个空白 window 并且可以将其关闭。

from PySide6.QtWidgets import QApplication, QWidget


import sys

app = QApplication(sys.argv)

window = QWidget()

window.show()  

app.exec_()

这段代码是我从书上抄来的,我的问题是如何得到这段代码 启动我转换后的 MainWindow.ui 文件而不是空白的 window?

我试过更改行 to:window = MainWindow() 因此删除了 QWidget 和其他许可,但没有显示我精心制作的 ui

表单文件不会自动在您的应用程序中使用,您必须手动加载 文件并使用 QUiLoader 基于它创建 window。在您的示例中,这类似于:

import sys
from PySide6.QtCore import QFile
from PySide6.QtUiTools import QUiLoader
from PySide6.QtWidgets import QApplication

main_form = QFile("MainWindow.ui")
main_form.open(QFile.ReadOnly)

app = QApplication(sys.argv)
window = QUiLoader().load(main_form)
window.show()  

app.exec_()

另一种选择是使用 pyside6-uic 工具根据您的表单文件为小部件生成 class:

$ pyside6-uic MainWindow.ui > main_window.py

然后在您的代码中使用它,例如:

import sys
from PySide6.QtWidgets import QApplication, QMainWindow
from main_window import UI_MainWindow # your form class name with a UI_ prefix

app = QApplication(sys.argv)

window = QMainWindow()
UI_MainWindow().setupUi(window)

window.show()
app.exec_()