下面是我正在測試的一些代碼。在這段代碼中,我可以創建一個窗口,頂部有一個標籤,底部有一個入口字段。當我輸入該輸入字段時,我可以動態更改標籤中的內容。現在,我已經包含了一個函數,試圖通過存儲在Entry小部件中預定義的內容來評估分配給「tex」的變量。這是「貓」。這是拿起:Python,Tkinter - 製作get()動態
tex = e.get()
據我所知,get()並沒有動態改變,因爲我改變了入口小部件的文本。所以當我改變入口小部件中的字符串時,它不能變成「狗」。這可能嗎?這裏是代碼:
from Tkinter import *
import time
root = Tk()
def change():
if tex == ("cat"):
time.sleep(0.5)
pass
else:
time.sleep(0.5)
e.delete(0, END)
e.insert(0, "dog")
v = StringVar()
e = Entry(root, textvariable=v)
e.insert(0, "cat")
e.pack(side=BOTTOM)
tex = e.get() #When text is defined with get(), it does not change
#dynamically with the entry widget
l = Label(root, textvariable=v)
l.pack(side=TOP)
change()
root.mainloop()
任何幫助,將不勝感激。
您正在錯誤地創建'StringVar'。它需要是'v = StringVar()'(注意尾部的'()') –
我沒有看到你想要達到的目標。當Entry內容改變時,StringVar'v'會動態變化,那麼爲什麼還需要動態改變的另一個變量? –
我不是無所事事。這只是一個練習,或多或少。我試圖看看是否有可能影響條目字符串以觸發條件循環,以便在影響字符串「cat」時「更改」標籤小部件。換句話說,我希望當我開始退格並從貓身上移除「t」時,條目和小部件會立即得到改變。 –