弹窗询问,如果确认就退出,如果取消就每间隔3分钟再次弹窗询问,直到确认退出
时间: 2024-10-10 11:05:15 浏览: 28
在Python中,你可以使用`tkinter`库来创建简单的图形用户界面(GUI),并结合定时器`threading`模块来实现在窗口关闭被确认后退出程序,或是在用户选择“取消”时每隔一段时间重新提示。以下是一个简化的例子:
```python
import tkinter as tk
import threading
def confirm_exit():
answer = messagebox.askokcancel("Exit Application", "Do you really want to exit?")
if answer:
root.quit() # 如果点击"OK"
else:
# 创建一个新的线程来延迟并重新显示消息
def repeat_prompt():
threading.Timer(180, repeat_prompt).start() # 每隔3分钟
messagebox.showwarning("Reminder", "Please confirm your action.")
repeat_prompt_thread = threading.Thread(target=repeat_prompt)
repeat_prompt_thread.start()
root = tk.Tk()
root.protocol("WM_DELETE_WINDOW", confirm_exit) # 设置关闭窗口的行为
# 添加其他窗口布局元素...
root.mainloop()
```
这段代码首先定义了一个函数`confirm_exit()`,当窗口被关闭时,这个函数会被调用。函数内会弹出一个对话框询问是否要退出。如果用户点击“OK”,则直接退出;如果点击“Cancel”,会在后台启动一个线程,每3分钟重复弹窗提醒。
阅读全文