QDialog,点击按钮关闭对话框,show()之后如何判断点击了什么按钮
时间: 2023-12-24 13:02:13 浏览: 254
在 QDialog 中,您可以使用 QPushButton 来创建按钮并将其添加到对话框中。每个按钮都可以设置一个唯一的 objectName,以便在按钮被点击时进行区分。
在 QDialog 中,您可以使用 exec() 方法来显示对话框并等待用户操作。在用户关闭对话框后,exec() 方法将返回一个整数值,该值表示用户点击了哪个按钮。您可以使用按钮的 objectName 属性来检查这个值并确定用户点击了哪个按钮。
以下是一个示例代码,演示如何在 QDialog 中使用 QPushButton 并检查用户点击了哪个按钮:
```
from PyQt5.QtWidgets import QApplication, QDialog, QPushButton
class MyDialog(QDialog):
def __init__(self, parent=None):
super().__init__(parent)
self.setWindowTitle('My Dialog')
# 创建两个按钮
self.ok_button = QPushButton('OK', self)
self.cancel_button = QPushButton('Cancel', self)
# 设置按钮的 objectName
self.ok_button.setObjectName('ok_button')
self.cancel_button.setObjectName('cancel_button')
# 绑定按钮的 clicked 信号到槽函数
self.ok_button.clicked.connect(self.accept)
self.cancel_button.clicked.connect(self.reject)
def show(self):
# 显示对话框并等待用户操作
result = super().exec_()
# 检查用户点击了哪个按钮
if result == QDialog.Accepted:
print('User clicked OK button')
elif result == QDialog.Rejected:
print('User clicked Cancel button')
if __name__ == '__main__':
app = QApplication([])
dialog = MyDialog()
dialog.show()
app.exec_()
```
在这个示例中,我们创建了两个按钮 OK 和 Cancel,并将它们添加到对话框中。我们还为每个按钮设置了一个 objectName,并将它们的 clicked 信号绑定到 QDialog 的 accept 和 reject 槽函数上。在 show() 方法中,我们使用 QDialog 的 exec_() 方法来显示对话框并等待用户操作。最后,我们检查返回的结果值,并确定用户点击了哪个按钮。
阅读全文