设置一个每隔1分钟的提醒,如果点击确认就退出提醒,点击取消就继续每隔1分钟提醒
时间: 2024-10-09 18:02:30 浏览: 28
要实现这样的功能,你可以使用Python的`schedule`库来定时发送提醒,结合`tkinter`库创建简单的图形用户界面(GUI)来处理用户的确认和取消操作。以下是一个基本的示例代码:
```python
import tkinter as tk
from schedule import every, run_pending
import time
def send_reminder():
# 这里只是一个占位符,你可以根据实际需求编写提醒逻辑
print("Reminder: Click 'Confirm' to exit or 'Cancel' to continue.")
def confirm_reminder():
global reminder_countdown
if reminder_countdown:
# 用户确认后停止提醒
reminder_countdown.cancel()
print("Reminder stopped.")
root.destroy()
def cancel_reminder():
global reminder_countdown
if not reminder_countdown:
# 没有正在运行的提醒,启动新的提醒
reminder_countdown = every(60).seconds.do(send_reminder)
print("Reminder restarted in 1 minute.")
else:
print("You have already canceled the current reminder.")
# 创建主窗口
root = tk.Tk()
root.title("Reminder")
# 开始计时器并显示初始提醒
reminder_countdown = None
send_reminder()
# 界面上的按钮
confirm_button = tk.Button(root, text="Confirm", command=confirm_reminder)
cancel_button = tk.Button(root, text="Cancel", command=cancel_reminder)
confirm_button.pack()
cancel_button.pack()
# 主循环等待用户交互
root.mainloop()
while True:
run_pending() # 更新所有计划的任务
time.sleep(1) # 等待1秒
```
在这个例子中,我们使用`schedule`库的`every`和`do`函数来安排每分钟执行一次的提醒。`run_pending()`用于检查是否有待执行的任务。当用户点击"确认"时,我们将当前的提醒取消;点击"取消"则重新安排下一次提醒。
阅读全文