Jonvin86 2022-07-19 22:44 采纳率: 100%
浏览 121
已结题

python,TK实时更新并发出提示声音

问题遇到的现象和发生背景

运行久了会卡死

问题相关代码,请勿粘贴截图
import tkinter as tk
import tkinter.ttk as ttk
from time import strftime
import time
import winsound

root = tk.Tk()
root.title('电子时钟')
root.resizable(True, True)

def get_time():
     local_time = strftime('%H:%M  %p')
     LB_1.config(text=local_time)
     root.after(1000, get_time)
     

LB_1 = ttk.Label(root, font=('微软雅黑', 20, 'bold'), anchor=tk.CENTER, background='#008CBA', foreground='white')
LB_1.pack(fill=tk.BOTH, expand=True)
get_time() 

ass=LB_1.cget("text")

def sound():
     aa=LB_1.cget("text")
     #print(ass)
     time.sleep(1)
     get_time() 
     bb=LB_1.cget("text")
     #print(as2)
     if aa != bb:
        print("LB_1内容更新!!!")
        winsound.Beep(3000, 3000)
     root.after(1000, sound)

sound()

root.mainloop()


运行结果及报错内容

after又调用after 导致栈一直在堆叠

我的解答思路和尝试过的方法
我想要达到的结果

LB_1(Label)里面的内容每发生变化 系统会发出声音

  • 写回答

6条回答 默认 最新

  • 脚踏南山 2022-07-19 23:12
    关注

    下有代码,可直接复制使用。如有帮助,敬请采纳,你的采纳是我前进的动力,O(∩_∩)O谢谢!!!!!!!!

    img

    import tkinter as tk
    import time
    import winsound
    
    class Clock():
        def __init__(self):
            self.root = tk.Tk()
            self.label = tk.Label(text="", font=('Helvetica', 48), fg='red')
            self.label.pack()
            self.old_time = ''  # 记录旧的时间
            self.update_clock_and_sound_beep()
            self.root.mainloop()
    
        def update_clock_and_sound_beep(self):
            now = time.strftime("%H:%M:%S")
            self.label.configure(text=now)
            if self.old_time != now:
                print("内容更新!!!", now)
                winsound.Beep(3000, 3000)
                self.old_time = now
            self.root.after(1000, self.update_clock_and_sound_beep)
     Clock()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 7月28日
  • 已采纳回答 7月20日
  • 创建了问题 7月19日

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据