我一直在使用googeling,嘗試過不同方式的加載,但我無法獲得此代碼的工作。我想要一個簡單的定時器,當你按下「開始」時運行一個功能,當你按下「停止」時停止。如何在python中添加啓動/停止GUI的定時器
例如: 當您按下開始時,該功能將每秒打印一個「Hello World」,直到您按停止。
我的一些評論代碼,這樣你可以瞭解快:
import sys
from Tkinter import *
from threading import Timer
# a boolean for telling the timer to stop
stop_timer = False
mgui = Tk()
def work(var):
# stop_timers sets to True or False with Start/Stop
stop_timer = var
# work_done will evaluate if timer should start or be canceled
def work_done(var2):
stop_timer = var2
# if stop was pressed t.start() will be ignored
if stop_timer == False:
t.start()
# if stop was pressed timer will stop
if stop_timer == True:
print "Stopped!"
t.cancel()
t = Timer(1, work, [False])
print "Something"
work_done(var)
mgui.geometry('450x450')
mgui.title('Test')
cmd1 = lambda: work(False)
btn = Button(mgui, text="Start", command =cmd1).place(x=50, y=50)
cmd2 = lambda: work(True)
btn2 = Button(mgui, text="Stop", command =cmd2).place(x=100, y=50)
mgui.mainloop()
正如你所知道的,我是新來的這shizzle! 謝謝,配偶!
tkinter有什麼神聖的東西嗎?或者你會非常反對wxPython中的解決方案? – wnnmaw
我不是一個tkinter傢伙,但我想我可以用PyQt來幫助你。另外你寫的代碼有什麼問題? – gravetii
您的意思是傳統意義上的「計時器」,例如「計算自啓動以來流逝的時間量的事情」?或者「線程」意義上的「計時器」,如「表示只在經過一定時間後應該運行的動作的對象」? – Kevin