每隔10秒弹出窗口提示,如确认就退出,如取消就每隔10秒再次提示
时间: 2024-10-10 12:04:45 浏览: 24
要实现这个功能,我们可以使用Python的`tkinter`库来创建一个简单的图形界面,配合定时器(`threading.Timer`)来每隔10秒显示一个消息框询问用户的决定。以下是一个简化的示例:
```python
import tkinter as tk
from threading import Timer
def confirm_quit():
"""处理用户确认或取消的回调"""
def quit_or_again():
if user_input.get() == 'quit':
root.quit()
else:
timer = Timer(10, quit_or_again) # 每10秒重新触发
timer.start()
user_input = tk.StringVar() # 存储用户选择
window = tk.Toplevel(root) # 新窗口
window.title("Confirmation")
tk.Label(window, text="Do you want to quit?").pack()
tk.Entry(window, textvariable=user_input).pack()
tk.Button(window, text="Quit", command=lambda: quit_or_again()).pack(pady=10)
tk.Button(window, text="Cancel", command=root.destroy).pack(pady=10)
# 主程序
root = tk.Tk()
root.withdraw() # 隐藏主窗口
timer = Timer(10, confirm_quit) # 初始提示
timer.start()
root.mainloop()
```
在这个代码里,我们首先导入了必要的模块,然后定义了一个`confirm_quit`函数,它会在一个新的子窗口中显示提示信息,并等待用户的输入。如果用户选择"Quit",则关闭窗口并退出程序;如果选择"Cancel",则销毁当前窗口,但不退出程序。我们用定时器设置每隔10秒调用一次`confirm_quit`。
运行这段代码后,你将会看到一个窗口每隔10秒出现一次,询问是否要退出。如果你点击"Quit",程序会结束;点击"Cancel"则继续循环。
阅读全文