LS让写一个带有计时可以重置的功能,差了CSDN相关的文章,也摘了一段放进去,但是无论如何,计时数字就是不显示,很头秃。
self.timestr = tk.StringVar()
self.timestr.set('0:0')
self.running = False
self.starttime = 0.0
self.elapsendtime = 0.0
self.timer = None
def update():
global elapsendtime
global timestr
global timer
self.elapsendtime = time.time()-self.starttime
self.timestr.set(elapsendtime)
self.timer = root.after(50,update)
def start():
global running
global starttime
if not running:
self.starttime = time.time()- self.elapsendtime
self.running = True
update()
pass
def stop():
global running
global timer
if running:
root.after_cancel(timer)
self.elapsendtime = time.time()-self.starttime
self.timestr.set(elapsendtime)
self.running = False
pass
def change_reset():
global elapsendtime
global timestr
global starttime
self.elapsendtime = 0.0
self.starttime =time.time()
self.timestr.set(elapsendtime)
self.Label4 = tk.Label(self.root,textvariable = self.timestr,
font=('黑体',12),fg='#1E90FF')
self.Label5 = tk.Label(self.root,text='用时',font=('黑体',15),
fg='#1E90FF',width=6,height=1)
self.Label6 = tk.Label(self.root,text='秒',font=('黑体',15),
fg='#1E90FF',width=4,height=1)
# about the positions
self.Label4.place(x=180,y=110)
self.Label5.place(x=130,y=110)
self.Label6.place(x=210,y=110)
题主只提供了代码片断,无法运行结果有多种可能,比如有没有在主函数中实例化类对象并调用方法,有没有使用mainloop事件循环等,需要从全部代码中进行排查问题。