我正在编写一个计时器应用程序,它遇到了很多困难,但最早的一个是创建一个可以通过按下按钮来打破的循环。我已经研究过了,我的研究表明我应该使用线程,但是我不知道它是如何工作的。在
于是,我决定尝试在调用键盘中断时创建一个异常,然后创建一个调用同一中断的按钮。但是,当我使用ctrl-c时,我当前的代码拒绝中断
我的示例代码如下所示
from Tkinter import *
from sys import exit
class Timer:
def __init__(self, master):
buttonstart = Button(master, text = "Start", fg = "blue", command = self.start)
buttonstart.grid(row = 1, column = 0)
buttonquit = Button(master, text = "Quit", fg = "blue", command= quit)
buttonquit.grid(row = 1, column = 2)
global timertext
timertext = DoubleVar()
timertext.set(0)
display = Label(master, textvariable = timertext)
display.grid(row = 0, column = 0)
timertext.set(timertext)
def timerlogic(self):
pass
def pause(self):
pass
def start(self):
global timertext
try:
while True:
#do things
except keyboardInterrupt:
print "Interrupted"
def lap(self):
pass
root = Tk()
app = Timer(root)
root.mainloop()
root.destroy()
基本上,我不认为我的代码是可行的,但我不知道如何编辑它,使循环我可以中断需要。在
你把一些变量设为真或假。另外,while循环会中断Tkinter循环,因此在while循环退出之前,Tkinter什么都不会做。改用Tkinter的after函数。在
相关问题 更多 >
编程相关推荐