如何实时更新Tkinter界面上的电池百分比数值?
解决Tkinter电池百分比不自动更新的问题
你的代码仅在程序启动时调用了一次battery()函数,所以电量变化后界面数值不会自动刷新。要实现实时更新,只需借助Tkinter的after()方法,让battery()函数定时重复执行即可。
修改后的代码如下:
import tkinter as tk import psutil # 假设DOWN_LEFT是已定义的父容器 charging = tk.Label(DOWN_LEFT, bg='#0000CD', font=('Acumin Variable Concept', 45, 'bold')) charging.place(x=420, y=60) def battery(): battery_info = psutil.sensors_battery() charging.config(text=f'{battery_info.percent}%') # 每隔1000毫秒(1秒)重新调用battery函数,实现自动更新 charging.after(1000, battery) # 启动定时更新 battery() # 确保主循环正常运行(如果你的代码里还没加的话) # root.mainloop()
说明
after(1000, battery)表示1000毫秒后再次执行battery()函数,形成循环刷新- 可以根据需求调整时间间隔,比如改成2000就是每2秒更新一次
- 必须保证Tkinter的主循环(
mainloop())处于运行状态,否则定时任务无法生效
内容的提问来源于stack exchange,提问作者Payam
相关产品推荐
相关产品推荐

