0
我試圖獲得「Dragon On」的值應該從「On」開始。我想將它與「關」進行比較,但它不能識別這種變化。第二次按下按鈕時,它會將文本變量設置爲關閉,但比較不會檢測到它已更改。我也試過Python無法比較Tkinter值
if (self.e3.config('textvariable')[-1] == 'Off')
但它只是繼續。
from Tkinter import *
import time
import datetime
import threading
import sys
import pdb;
class App:
dragon = 300
def __init__(self, master):
Label(master, text="Dragon Down").grid(row=2)
self.e3 = Button(master,command=self.dragon_callback,width=15,text="Dragon On",textvariable="On")
self.e4 = Entry(master)
self.e3.grid(row=2, column=1)
self.e4.grid(row=2, column=2)
def dragon_callback(self):
print "%s" % self.e3.config('textvariable')[-1]
# print sys._current_frames()
if self.e3.config('textvariable')[-1]:
print "inside here the variable is '%s' " % self.e3.config('textvariable')[-1]
try:
self.t2_stop = threading.Event()
t = threading.Thread(target=self.dragon_time,name="Dragon Thread",args=("eee",self.t2_stop))
t.daemon = True
t.start()
except:
print "Error: unable to start thread"
self.e3.config(textvariable='Off')
else:
print " i stopped"
self.t2_stop.set()
self.e4.delete(0, END)
self.e3.config(textvariable='True')
def dragon_time(self,bleh,stop_event):
#print "did i get the value %s" % self.text_area.get()
boom=300
while(not stop_event.is_set() and boom > 0):
#equivalent to time.sleep()
self.e4.delete(0, END)
self.e4.insert(0, boom)
time.sleep(1)
self.e4.delete(0, END)
self.e4.insert(0, boom)
boom -=1
pass
root = Tk()
root.title("Timer")
app = App(root)
root.mainloop()
燁多數民衆贊成它。你是對的 – tiggles 2013-03-06 02:49:38