点击按钮弹出询问窗口,如果确认就退出,如果取消间隔10秒再次提示询问窗口,直至确认为止
时间: 2024-10-13 17:17:18 浏览: 57
在Python中,你可以使用Tkinter库创建GUI应用,包括按钮、消息框(询问窗口)以及处理用户交互。以下是一个简单的例子,展示了如何实现这个功能:
```python
import tkinter as tk
from tkinter import messagebox, simpledialog
import time
def confirm_quit():
if messagebox.askokcancel("Exit Confirmation", "Are you sure you want to quit?"):
root.quit()
else:
# 如果用户选择取消,等待10秒后重新显示询问窗口
time.sleep(10)
show_popup()
def show_popup():
show_again = simpledialog.askyesno("Quit Prompt", "Do you really want to exit?")
if show_again:
confirm_quit()
else:
# 没有确认,再次调用自身10秒后显示窗口
root.after(10000, show_popup)
# 创建主窗口
root = tk.Tk()
root.withdraw() # 隐藏初始窗口,只显示对话框
# 显示第一次询问窗口
show_popup()
# 进入主事件循环
root.mainloop()
```
在这个代码中,我们定义了两个函数`confirm_quit` 和 `show_popup`。`show_popup` 函数首先显示一个询问窗口,如果用户选择“是”,则调用 `confirm_quit` 退出程序;如果选择“否”,则使用 `after` 方法延迟10秒后再次调用自己。
`mainloop()` 是Tkinter的主事件循环,确保窗口保持打开状态直到用户进行相应的操作。
如果你需要更复杂的设计,比如多个确认步骤或不同类型的询问,你可以根据需要调整这两个函数的内容。
阅读全文