pyqt5中,实现二次弹窗确认
时间: 2023-06-29 21:10:47 浏览: 251
pyqt5线程与弹窗示例
在 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, 300, 200)
self.setWindowTitle('Example')
self.showConfirm()
def showConfirm(self):
reply = QMessageBox.question(self, '确认', '确定执行操作吗?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
confirm = QMessageBox.question(self, '再次确认', '确定要执行此操作吗?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if confirm == QMessageBox.Yes:
self.doSomething()
else:
self.close()
def doSomething(self):
# 执行操作
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在上面的例子中,首先在 `initUI` 函数中调用了 `showConfirm` 函数来显示第一个弹窗。当用户点击第一个弹窗的“确认”按钮时,会创建第二个弹窗 `confirm`。如果用户在第二个弹窗中点击“确定”按钮,则会执行 `doSomething` 函数中的操作。如果用户在任何一个弹窗中点击“取消”按钮,则程序会关闭。
阅读全文