gpt4 book ai didi

python - PySide2 QUiLoader 返回一个空窗口

转载 作者:行者123 更新时间:2023-12-01 01:56:26 27 4
gpt4 key购买 nike

PySide2(5.6.0~a1) Qt UI 文件加载器返回一个空窗口,其中 PyQt5 加载器工作正常。你能向我解释一下我错在哪里吗?

不工作的 PySide2 版本:

import sys
from PySide2.QtWidgets import QDialog, QApplication
from PySide2 import QtUiTools

class AppWindow(QDialog):
def __init__(self):
super().__init__()
self.ui = QtUiTools.QUiLoader().load("dialog1.ui")
self.show()

app = QApplication(sys.argv)
w = AppWindow()
sys.exit(app.exec_())

工作 PyQt5 版本:

import sys
from PyQt5.QtWidgets import QDialog, QApplication
from PyQt5 import uic

class AppWindow(QDialog):
def __init__(self):
super().__init__()
self.ui = uic.loadUi("dialog1.ui", self)
self.show()

app = QApplication(sys.argv)
w = AppWindow()
sys.exit(app.exec_())

使用此功能也不起作用:

def loadUiWidget(uifilename, parent=None):
loader = QtUiTools.QUiLoader()
uifile = QtCore.QFile(uifilename)
uifile.open(QtCore.QFile.ReadOnly)
ui = loader.load(uifile, parent)
uifile.close()
return ui

最佳答案

在 PySide2 中,QMainWindow 类没有覆盖自身的函数。有必要显示 ui:

import sys
from PySide2.QtWidgets import QDialog, QApplication
from PySide2 import QtUiTools

class AppWindow(QDialog):
def __init__(self):
super().__init__()
self.ui = QtUiTools.QUiLoader().load("dialog1.ui")
self.ui.show()

app = QApplication(sys.argv)
w = AppWindow()
sys.exit(app.exec_())

关于python - PySide2 QUiLoader 返回一个空窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50128293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com