如何使用tkinter在python中测量按钮按下之间经过的时间?

如何使用tkinter在python中测量按钮按下之间经过的时间?,python,python-2.7,tkinter,stopwatch,Python,Python 2.7,Tkinter,Stopwatch,我对python非常陌生,我正在尝试为自己做一个小项目,但我不知道如何在stop函数中使用start函数中的initial time变量,我可以用它进行数学运算。这是我目前的代码: import time import Tkinter import tkMessageBox top = Tkinter.Tk() def start_time(): tkMessageBox.showinfo("Timer", "The timer will now begin") initial

我对python非常陌生,我正在尝试为自己做一个小项目,但我不知道如何在stop函数中使用start函数中的initial time变量,我可以用它进行数学运算。这是我目前的代码:

import time
import Tkinter
import tkMessageBox

top = Tkinter.Tk()

def start_time():
   tkMessageBox.showinfo("Timer", "The timer will now begin")
   initial = time.time()
   return initial

def stop_time(initial):
   final = time.time()
   tkMessageBox.showinfo("Timer", final - initial)

Start = Tkinter.Button(top, text ="Start", command = start_time)
Stop = Tkinter.Button(top, text ="Stop", command = stop_time)
Start.pack()
Stop.pack()
top.mainloop()

您的职能部门需要就共享数据的公共位置达成一致。对于这个简单的示例,模块的全局名称空间是一个不错的选择。您只需将
global initial
添加到更新它的函数中。对于较大的项目,您可以移动到包含变量和更新变量的函数的对象,但这对于您的目标来说是好的

import time
import Tkinter
import tkMessageBox

initial = 0

top = Tkinter.Tk()

def start_time():
   global initial
   tkMessageBox.showinfo("Timer", "The timer will now begin")
   initial = time.time()
   return initial

def stop_time():
   # you could check for initial == 0 and display an error
   final = time.time()
   tkMessageBox.showinfo("Timer", final - initial)

Start = Tkinter.Button(top, text ="Start", command = start_time)
Stop = Tkinter.Button(top, text ="Stop", command = stop_time)
Start.pack()
Stop.pack()
top.mainloop()