弹出窗口进行询问,如果确认就退出,如果取消就每隔10秒再次弹出该窗口询问,直到确认退出
时间: 2024-10-10 20:05:25 浏览: 31
要在Python中实现这个功能,你可以使用`tkinter`库来创建一个简单的弹窗,并结合`time.sleep()`来实现定时询问。这里有一个基本的示例:
```python
import tkinter as tk
from tkinter import messagebox
def confirm_exit():
if messagebox.askokcancel("Exit Confirmation", "Do you want to exit?"):
root.destroy()
else:
# 如果用户选择取消,我们等待10秒后重新显示窗口
root.after(10000, confirm_exit)
# 创建主窗口
root = tk.Tk()
root.protocol("WM_DELETE_WINDOW", confirm_exit) # 绑定关闭窗口事件为确认退出函数
# 简单的界面布局(此处仅为示例,可替换为实际需求)
# root.geometry('300x200')
# root.mainloop()
confirm_exit() # 开始循环询问
```
这段代码首先定义了一个`confirm_exit`函数,它会在每次调用时显示一个对话框询问用户是否要退出。如果用户点击“确定”,则关闭窗口;如果点击“取消”,则调用`after`方法在10秒钟后再次执行这个函数。
在主窗口中,我们绑定了关闭窗口事件(通常鼠标右键菜单中的“关闭”选项)为`confirm_exit`函数,这样当用户试图关闭窗口时,也会触发询问。然后开始询问过程。
如果你想在其他地方运行这个询问循环,而不是直接在窗口关闭时,你可以稍微修改一下,例如在一个无限循环里,然后在用户确认后跳出循环。
阅读全文