繁体   English   中英

转换后的视觉 hello world python

[英]converted visual hello world python

我有一个目录/文件夹,其中包含两个文件 MainWindow.py Mainwindow.ui

我在 QtDesigner6 中设计了 MainWindow.ui 并将 output 文件转换为 MainWindow.ui

我有一个代码 window ,它启动一个窗口/表单,并在它的全部荣耀中显示一个空白 window ,它显示并且可以关闭。

from PySide6.QtWidgets import QApplication, QWidget


import sys

app = QApplication(sys.argv)

window = QWidget()

window.show()  

app.exec_()

我从一本书中获取的这段代码,我的问题是如何让这段代码启动我转换后的 MainWindow.ui 文件,而不仅仅是一个空白的 window?

我尝试将行更改为:window = MainWindow() 从而删除 QWidget 和其他许可,但没有显示我精心制作的 ui

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

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_()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM