【发布时间】:2015-12-01 13:12:32
【问题描述】:
我想捕获一个人输入密码所用的时间(以毫秒为单位),即从第一次按键到该人按下Enter 按钮的时间。为此,我有以下代码:
import tkinter as tk
import time
class MyApp(object):
start=0.0
end=0.0
total_time=0.0
def __init__(self, master):
self.pass1 = tk.Entry(master,show="*")
self.pass1.bind('<Key>', self.callback1)
self.pass1.pack()
def callback1(self, event): # Called Only by first key press
self.start=time.time()*1000.0 # start variable must be modified ONLY by first key press
def callback2(self,event): # called by Enter Key press
self.end=time.time()*1000.0
self.total_time=self.start-self.end
print(self.totaltime)
root = tk.Tk()
app = MyApp(root)
root.mainloop()
我遇到的问题是我无法在pass1 上绑定callback1 和callback2。我想要的是当一个人按下他们密码的第一个键时,start被设置为当前时间,当这个人按下Enterend被初始化为当前时间。我希望这两个能给我一个大概的时间。
如何修改上面的程序来完成我想要的?谢谢。
【问题讨论】:
-
“不能”是什么意思?为什么你做不到?您的代码似乎没有尝试这样做。
标签: python tkinter key-bindings