pyside6 QMessageBox关闭的方法
时间: 2023-07-21 19:35:42 浏览: 326
关闭QMessageBox对话框的方法有以下两种:
1. 使用done()方法关闭
使用QMessageBox类的done()方法可以关闭对话框。done()方法接受一个整数参数,表示对话框的退出代码。通常,我们使用QDialog类的accept()和reject()方法分别设置退出代码为QDialog::Accepted和QDialog::Rejected,然后在done()方法中传递相应的参数即可关闭对话框。
例如,关闭一个显示“确认”和“取消”按钮的QMessageBox对话框可以使用以下代码:
```
reply = QMessageBox.question(self, 'Message', 'Are you sure to quit?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
self.done(QDialog.Accepted)
else:
self.done(QDialog.Rejected)
```
其中,self代表对话框的父窗口,第二个参数是对话框的标题,第三个参数是对话框的消息内容,第四个参数是对话框的按钮类型,最后一个参数是对话框的默认按钮。如果用户点击了“Yes”按钮,则调用self.done(QDialog.Accepted)方法关闭对话框并返回QDialog::Accepted退出代码;否则,调用self.done(QDialog.Rejected)方法返回QDialog::Rejected退出代码。
2. 使用close()方法关闭
使用QMessageBox类的close()方法也可以关闭对话框。与done()方法不同,close()方法不需要传递退出代码。直接调用close()方法即可关闭对话框。
例如,关闭一个仅显示“确认”按钮的QMessageBox对话框可以使用以下代码:
```
QMessageBox.information(self, 'Message', 'Operation successful!', QMessageBox.Ok)
self.close()
```
其中,self代表对话框的父窗口,第二个参数是对话框的标题,第三个参数是对话框的消息内容,第四个参数是对话框的按钮类型。当用户点击了“确认”按钮后,调用QMessageBox.information()方法显示提示信息,然后调用self.close()方法关闭对话框。
阅读全文