【问题标题】:How can I measure elapsed time between the press of buttons in python with tkinter?如何使用 tkinter 测量在 python 中按下按钮之间经过的时间?
【发布时间】:2016-04-13 17:26:03
【问题描述】:

我对 python 很陌生,我正在尝试为自己做一个小项目,但我不明白如何在停止函数中使用 start 函数中的初始时间变量,我可以在其中进行数学运算它。这是我目前的代码:

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()

【问题讨论】:

    标签: python python-2.7 tkinter stopwatch


    【解决方案1】:

    您的职能部门需要就共享数据的公共位置达成一致。对于这个简单的示例,模块的全局命名空间是一个不错的选择。您需要做的就是将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()
    

    【讨论】:

      猜你喜欢
      • 2012-04-10
      • 1970-01-01
      • 1970-01-01
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 2019-12-30
      相关资源
      最近更新 更多