pyqt5弹出一个对话框
时间: 2023-12-12 15:03:41 浏览: 34
可以使用 PyQt5 中的 QMessageBox 类来创建一个弹出对话框。
以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 350, 250)
self.setWindowTitle('Example')
self.show()
def closeEvent(self, event):
reply = QMessageBox.question(self, 'Message',
"Are you sure to quit?", QMessageBox.Yes |
QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在这个示例中,我们创建了一个继承自 QWidget 的 Example 类。在类的构造函数中,我们调用了一个名为 initUI() 的方法来设置窗口的基本显示。
然后,我们定义了一个 closeEvent() 方法,当用户点击窗口的关闭按钮时,该方法会被调用。在该方法中,我们创建了一个 QMessageBox 对象,它会显示一个包含一条消息和两个按钮的对话框。如果用户点击了 Yes 按钮,事件将被接受并关闭窗口。否则,事件将被忽略并窗口将继续显示。
注意,这个示例中的 closeEvent() 方法是在用户点击窗口的关闭按钮时自动调用的。如果您想在其他情况下弹出一个对话框,您可以在任何 PyQt5 应用程序中使用 QMessageBox 类来创建自定义的对话框。