QMessageBox窗口使用代码关闭不了
时间: 2023-07-27 15:18:33 浏览: 97
可能是因为您没有正确地使用QMessageBox的实例对象。正常情况下,您可以使用QMessageBox的静态函数来创建一个对话框窗口,然后将其作为模态对话框打开,当用户点击确定时,对话框窗口会自动关闭。如果您想在代码中手动关闭QMessageBox对话框窗口,则需要获取对话框窗口的实例对象,然后调用其close()方法来关闭窗口。
以下是一个使用QMessageBox的示例代码:
```
from PyQt5.QtWidgets import QApplication, QMessageBox
app = QApplication([])
# 创建消息框
msgBox = QMessageBox()
msgBox.setText("Hello, World!")
msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
msgBox.setDefaultButton(QMessageBox.Ok)
# 打开消息框(作为模态对话框)
result = msgBox.exec_()
if result == QMessageBox.Ok:
print("User clicked OK")
else:
print("User clicked Cancel")
# 获取消息框实例对象并关闭窗口
msgBoxInstance = QMessageBox()
msgBoxInstance.close()
```
请注意,您应该在获取QMessageBox的实例对象之前,先使用QMessageBox的静态函数创建对话框窗口。否则,获取到的实例对象可能无法正常工作。
阅读全文