点击按钮弹出询问窗口,如果确认就退出,如果取消就间隔10秒再次提示,直至确认为止
时间: 2024-10-13 15:17:08 浏览: 31
要实现这个功能,你可以使用Python的Tkinter库创建一个简单的图形用户界面(GUI),结合定时器和事件处理机制。以下是一个简化的示例代码,演示了如何实现这个需求:
```python
import tkinter as tk
from tkinter import messagebox, ttk
from time import sleep
def confirm_exit():
if messagebox.askokcancel("Exit Confirmation", "Are you sure you want to exit?"):
root.destroy()
else:
# 如果用户选择取消,设置一个定时器重新显示提示窗口
root.after(10000, lambda: show_popup())
def show_popup():
confirm_popup = tk.Toplevel(root)
confirm_popup.title("Exit Confirmation")
confirm_button = ttk.Button(confirm_popup, text="Confirm", command=confirm_exit)
cancel_button = ttk.Button(confirm_popup, text="Cancel", command=root.quit)
confirm_button.pack(pady=10)
cancel_button.pack()
root = tk.Tk()
root.protocol("WM_DELETE_WINDOW", show_popup) # 这样,当直接关闭窗口时也会显示提示
# 开始时立即显示首次提示
show_popup()
root.mainloop()
```
在这个例子中,我们创建了一个名为`show_popup`的函数,用于弹出确认对话框。如果用户点击“确认”,则调用`root.destroy()`退出应用;如果选择“取消”,则使用`after`方法设置一个10秒后重试的定时器。
当主窗口被关闭时,我们调用`show_popup`函数开始整个过程。运行这段代码,你会看到一个带有“确认”和“取消”按钮的窗口,根据用户的操作执行相应的逻辑。
阅读全文