pyqt5中messagebox的按钮被点击时关闭另一个窗口
时间: 2024-11-06 07:23:52 浏览: 37
在PyQt5中,`QMessageBox`是一个用于显示消息对话框的标准组件。如果你想在用户点击消息框中的某个按钮时关闭另一个窗口,你可以通过将这两个事件关联起来。首先,你需要创建两个窗口,然后在其中一个窗口中展示消息框,并设置其按钮连接到关闭另一个窗口的槽函数。
以下是一个简单的例子:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
class ParentWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建子窗口
self.child_window = ChildWindow()
child_window.show()
def button_clicked(self):
# 显示消息框
reply = QMessageBox.question(self, 'Message', "Do you want to close the other window?", QMessageBox.Yes | QMessageBox.No)
# 根据用户选择,关闭子窗口
if reply == QMessageBox.Yes:
self.child_window.close()
class ChildWindow(QMainWindow):
pass # 这里仅作为示例,你可以添加你需要的功能
if __name__ == '__main__':
app = QApplication([])
parent_window = ParentWindow()
parent_window.show()
app.exec_()
```
在这个例子中,当用户点击消息框的"是"按钮时,会触发`ParentWindow`的`button_clicked`方法,进而关闭`ChildWindow`。你可以根据实际需求修改消息内容和按钮文字。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)