我用Python编写了以下代码:
class Chronometre(Frame):
def __init__(self, parent=None, **kw):
Frame.__init__(self, parent, kw)
self._start = 0.0
self._elapsedtime = 0.0
self._running = 0
self.timestr = StringVar()
self.makeWidgets()
def _update(self):
self._elapsedtime = time.time() - self._start
self._setTime(self._elapsedtime)
self._timer = self.after(50, self._update)
def Start(self):
if not self._running:
self._start = time.time() - self._elapsedtime
self._update()
self._running = 1
def Stop(self):
if self._running:
self.after_cancel(self._timer)
self._elapsedtime = time.time() - self._start
self._setTime(self._elapsedtime)
self._running = 0
def Reset(self):
self._start = time.time()
self._elapsedtime = 0.0
self._setTime(self._elapsedtime)
def Clavier(event):
print(event.keysym)
if event.keysym == 'a' :
sw = Chronometre()
sw.Start()
sv = Chronometre()
sv.Start()
if event.keysym == 'z' :
sw = Chronometre()
sw.Stop()
if event.keysym == 'e' :
sv = Chronometre()
sv.Stop()
if event.keysym == 'r' :
sw = Chronometre()
sw.Reset()
sv = Chronometre()
sv.Reset()
def main():
root = Tk()
root.bind("<Key>",Clavier)
我的一个朋友试图在按下一个键时启动一个函数,但是它没有启动这个函数。有人知道为什么会这样吗?我知道程序会进入if语句,但它不会启动函数。你知道吗
可能是因为它在一个班级里吗?你知道吗
你似乎没有实例化你的类,或者调用它们的方法。你知道吗
等等。你知道吗
首先,您必须运行Tkinter mainloop让它做任何事情,比如抓钥匙
其次,Start()函数中有一些变量尚未声明,因此第一次执行时会出现错误,即self.\u running和self.\u elapsedtime。此外,函数\u setTime()尚未声明。你知道吗
相关问题 更多 >
编程相关推荐