Python PyQt Windows不';不出现

Python PyQt Windows不';不出现,python,pyqt5,Python,Pyqt5,有人能告诉我为什么我的PyQt窗口在我启动程序后没有出现吗?(其转换器来自PyQt Designer) 当我尝试ui.show()而不是Dialog.show()时,它会显示:类“ui\u Dialog”的未解析属性引用“show” 当我尝试ui.show()而不是Dialog.show()时,它会显示:类“ui\u Dialog”的未解析属性引用“show” ui变量只保存ui数据,它不是Qt对象 import sys app = QtWidgets.QApplication(sys.argv

有人能告诉我为什么我的PyQt窗口在我启动程序后没有出现吗?(其转换器来自PyQt Designer)

当我尝试ui.show()而不是Dialog.show()时,它会显示:类“ui\u Dialog”的未解析属性引用“show”

当我尝试ui.show()而不是Dialog.show()时,它会显示:类“ui\u Dialog”的未解析属性引用“show”

ui
变量只保存ui数据,它不是Qt对象

import sys
app = QtWidgets.QApplication(sys.argv)
dialog = QtWidgets.QDialog() # Lowercase for objects, dialog
ui = Ui_Dialog
ui.setupUI(Dialog)

# At this point dialog is your actual dialog object
# and ui is still just UI data.
dialog.show()  # Show your dialog.
调用
.show()
是非阻塞的,它只是一条指令。但是,要让Qt执行该指令,您需要启动Qt事件循环(这是处理将窗口放在屏幕上并获取用户输入的操作)


请注意,对话框也有自己的
.exec()
,可用于发出阻止对话框(防止与父应用程序交互)。如果调用
dialog.exec()
,您仍然会看到对话框。但是,您的应用程序将无法执行任何其他操作,因为一旦关闭对话框,事件循环将结束。

请尝试ui.show()而不是dialog.show()。切勿发布代码的图像。改为复制粘贴问题中的代码。您忘了在最后添加
sys.exit(app.exec\u())
,您必须永远记住@f.wue写的内容。当我尝试ui.show()而不是Dialog.show()时,它说:类“ui\u Dialog”的未解析属性引用“show”
# Call app.exec_() to start the Qt event loop.
app.exec_()