You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python Tkinter开发简易闹钟程序遇运行报错问题求助

Tkinter简易闹钟运行故障修复方案

报错根因

两个报错均为笔误或环境使用错误,无复杂兼容性问题:

  • _tkinter.TclError提示无效选项-achor:属于拼写笔误,本地代码中pack布局的anchor参数漏写字母n,错写为achor。另外代码同时通配符导入tkinter和tkinter.ttk的所有内容,ttk库的Label组件会覆盖原生tk的Label,ttk组件不支持直接传入background、foreground参数,即使修正拼写也可能出现样式兼容报错。
  • Python交互环境下的SyntaxError:属于运行环境混淆,将终端(cmd/powershell/bash)支持的带&的后台运行命令,输入到了Python交互式解释器(带>>>提示符的REPL环境)中,&是shell语法而非Python语法,直接触发语法错误。

除此之外,现有闹钟逻辑还有两个隐藏问题:一是时间匹配条件带%p(AM/PM标识),不同系统/区域配置下strftime返回的%p可能为小写、本地语言格式,极易匹配失败;二是到达设定时间后,每秒都会执行触发逻辑,重复打印提示内容。

修复步骤

  • 修正导入逻辑:删除ttk库的通配符导入,避免组件覆盖冲突,原生tk的Label组件可直接支持前景色、背景色设置,更适合当前时钟场景。
  • 检查本地代码所有pack布局参数,确认拼写为anchor(完整拼写为a-n-c-h-o-r),不要漏写字母。
  • 纠正脚本运行方式:不要在Python REPL环境中输入shell命令,要么在VS Code的集成终端中执行python 你的脚本文件名.py运行,要么直接点击VS Code右上角的运行按钮启动脚本。
  • 优化闹钟逻辑:增加触发标记避免重复提示,改用24小时制时间匹配规避AM/PM格式差异问题,过了设定时间自动重置标记方便次日触发。

修复后可运行完整代码

from tkinter import *
from time import strftime

root = Tk()
root.title("Digital Clock")
root.geometry("600x510")
root.configure(background="black")

label = Label(root, font=('sans', 80), background="black", foreground="red")
credit_label = Label(root, text="Krishna made this ", font=('sans', 20), background="black", foreground="red")
label.pack(anchor='center')
credit_label.pack(anchor="center")

alarm_triggered = False
# 修改这里的时间即可调整闹钟,格式为24小时制"时:分:秒"
ALARM_TIME = "19:00:00"

def clock():
    global alarm_triggered
    current_time_full = strftime('%H:%M:%S %p')
    current_time_hms = strftime('%H:%M:%S')
    label.config(text=current_time_full)

    if current_time_hms == ALARM_TIME and not alarm_triggered:
        print("Wake up")
        alarm_triggered = True
    if current_time_hms != ALARM_TIME:
        alarm_triggered = False

    label.after(1000, clock)

clock()
mainloop()

注意事项

如果需要修改闹钟时间,直接调整代码中ALARM_TIME变量的赋值即可,例如设置早上7点10分的闹钟就写为ALARM_TIME = "07:10:00"。
如果修正后仍报-achor相关错误,逐行检查本地保存的代码里所有pack()方法的参数,贴出的示例代码中参数拼写正确,大概率是本地文件仍存在拼写笔误。

内容的提问来源于stack exchange,提问作者Krishna Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 04:51:26