【发布时间】:2021-09-04 01:51:00
【问题描述】:
我正在尝试记录按钮按下之间的时间,然后将该时间附加到列表中,但是当我按下 stop_time_forward 按钮时,我没有得到它打印任何东西。对此的任何帮助都将是惊人的。
我的代码:
import time
from tkinter import *
initial = 0
top = Tk()
command_time_list = []
#start forward
def start_time_forward():
global initial
print("Timer Start")
initial = time.time()
return initial
def stop_time_forward():
final = time.time()
time_elapsed = final - initial
command_time_list.append('a')
command_time_list.append(time_elapsed)
return command_time_list
forward_output = stop_time_forward()
print(forward_output)
forward_end = Button(top, text ="Forward Time Stop", command = stop_time_forward)
forward_start = Button(top, text ="Forward Time Start", command = start_time_forward)
forward_end.pack()
forward_start.pack()
top.mainloop()
【问题讨论】:
-
那是因为
stop_time_forward()不打印任何东西。 -
@martineau 谢谢,有什么理由让我在运行程序时自动输出一个值,甚至在我点击停止按钮之前?
-
因为在进入
mainloop()之前发生了print(forward_output)调用。 -
@Agarb 此外,从设置为按钮的
command的函数返回任何内容@ -
@martineau 好的,我稍微重构了我的代码,但现在最后它在最后一个结束和我结束程序的时间之间附加了值。我不知道是什么原因造成的,有什么帮助吗?
标签: python python-3.x list tkinter time