用python语句写一个有完整界面的番茄钟小程序
时间: 2024-02-15 09:02:20 浏览: 77
好的,要实现一个有完整界面的番茄钟小程序,需要使用 Python 的 GUI 库。这里我们使用 Tkinter 库来实现。以下是一个简单的界面番茄钟小程序的 Python 代码:
```python
import tkinter as tk
import time
# 定义番茄钟时间(单位:分钟)
pomodoro_time = 25
short_break_time = 5
long_break_time = 15
# 定义计数器和状态标志
pomodoro_count = 0
is_pomodoro = False
# 创建主窗口
root = tk.Tk()
root.title("番茄钟")
# 创建标签
time_label = tk.Label(root, text="00:00", font=("Arial", 40))
time_label.pack(pady=20)
# 创建开始按钮
def start():
global pomodoro_count, is_pomodoro
start_button.config(state=tk.DISABLED) # 禁用开始按钮
stop_button.config(state=tk.NORMAL) # 启用停止按钮
reset_button.config(state=tk.DISABLED) # 禁用重置按钮
while True:
if is_pomodoro:
time_label.config(text="工作中", fg="red")
root.update() # 更新界面
time.sleep(pomodoro_time * 60) # 等待番茄钟时间
time_label.config(text="休息中", fg="green")
root.update() # 更新界面
time.sleep(short_break_time * 60) # 等待短休息时间
pomodoro_count += 1
is_pomodoro = False
elif pomodoro_count % 4 == 0:
time_label.config(text="长休息", fg="blue")
root.update() # 更新界面
time.sleep(long_break_time * 60) # 等待长休息时间
is_pomodoro = True
else:
time_label.config(text="短休息", fg="green")
root.update() # 更新界面
time.sleep(short_break_time * 60) # 等待短休息时间
is_pomodoro = True
# 创建停止按钮
def stop():
start_button.config(state=tk.NORMAL) # 启用开始按钮
stop_button.config(state=tk.DISABLED) # 禁用停止按钮
reset_button.config(state=tk.NORMAL) # 启用重置按钮
global pomodoro_count, is_pomodoro
pomodoro_count = 0
is_pomodoro = False
# 创建重置按钮
def reset():
time_label.config(text="00:00", fg="black")
start_button.config(state=tk.NORMAL) # 启用开始按钮
stop_button.config(state=tk.DISABLED) # 禁用停止按钮
reset_button.config(state=tk.DISABLED) # 禁用重置按钮
global pomodoro_count, is_pomodoro
pomodoro_count = 0
is_pomodoro = False
start_button = tk.Button(root, text="开始", command=start)
start_button.pack(side=tk.LEFT, padx=10)
stop_button = tk.Button(root, text="停止", command=stop, state=tk.DISABLED)
stop_button.pack(side=tk.LEFT, padx=10)
reset_button = tk.Button(root, text="重置", command=reset, state=tk.DISABLED)
reset_button.pack(side=tk.LEFT, padx=10)
root.mainloop()
```
这个程序实现了一个有完整界面的番茄钟功能,界面包括一个时间标签和三个按钮:开始、停止和重置。点击开始按钮,程序会进入循环,每 25 分钟工作一个番茄钟,然后休息 5 分钟,每 4 个番茄钟时休息 15 分钟。点击停止按钮,程序会停止循环,并重置计数器和状态标志。点击重置按钮,程序会清空时间标签,并重置计数器和状态标志。
阅读全文