每隔10秒弹出询问窗口,如确认就退出,如取消就每隔10秒再次提示
时间: 2024-10-10 15:05:48 浏览: 33
要实现这个功能,你可以使用Python的`threading`模块来创建一个循环并在子线程中显示询问窗口。这里我会给你提供一个基础的代码示例,但请注意,实际的GUI操作可能依赖于特定的库(比如`tkinter`、`PyQt5`等)。这个例子我们将使用`time.sleep()`来模拟10秒的等待。
```python
import tkinter as tk
from threading import Thread
def show_prompt():
def on_response(response):
if response == "exit":
root.quit()
root = tk.Tk() # 创建主窗口
root.withdraw() # 隐藏初始界面,只显示询问窗口
prompt_label = tk.Label(root, text="是否退出程序?")
confirm_button = tk.Button(root, text="确定", command=lambda: on_response("exit"))
cancel_button = tk.Button(root, text="取消", command=root.quit)
prompt_label.pack()
confirm_button.pack()
cancel_button.pack()
root.after(0, lambda: root.deiconify()) # 每隔10秒后显示窗口
root.mainloop()
# 使用Thread确保主线程不受影响,同时进行提示
prompt_thread = Thread(target=show_prompt)
prompt_thread.start()
while True:
if prompt_thread.is_alive(): # 如果提示还在运行
time.sleep(10) # 主线程每10秒检查一次
else:
break # 提示窗口关闭后退出主循环
print("程序已退出")
```
在这个例子中,我们首先创建了一个Tk窗口,并将其隐藏。然后在一个子线程里,我们在循环中每10秒重新显示提示窗口。用户可以通过点击“确定”按钮来触发退出,或点击“取消”直接退出。
阅读全文