0
我有一个使用Tkinter设置的简单界面。我有一个下拉框,这是无关紧要的。我也有两个入口控件框。我想要发生的是第二个初始化为DISABLED,但是很快因为任何文本都输入到第一个框中,我希望第二个框变为活动状态。出于某种原因,当第一个文本框输入文本时,我的第二个框不会启动。任何帮助都会很棒。谢谢!Tkinter连续检查文字
from Tkinter import *
import tkMessageBox
import os
if __name__ == "__main__":
root = Tk()
root.title("ShotBot")
root["padx"] = 40
root["pady"] = 20
root.geometry('500x200-400+200')
root.resizable(FALSE,FALSE)
textFrame = Frame(root)
#Create and place Option List
var=StringVar()
choices = ['a','b','c']
var.set(choices[0])
entryWidget = OptionMenu(root, var, *choices)
entryWidget["width"] = 30
entryWidget.pack(side="top")
#Create and Place Text Field
entryWidget2= Entry(textFrame)
entryWidget2["width"] = 30
entryWidget2.pack(side="top")
#Create and Place Text Field
entryWidget3 = Entry(textFrame)
entryWidget3["width"] = 30
entryWidget3.pack(side="top")
textFrame.pack()
button = Button(root, text="Submit")
button.pack()
if entryWidget2.get().strip()=="":
entryWidget3["state"]=DISABLED
else:
entryWidget3["state"]=NORMAL
root.mainloop()
我很好奇你的答案。我完全不熟悉这种'trace()'方法。你能把我连接到一个API? – acattle 2012-07-14 04:41:51
@acattle:变量的跟踪方法可以让您在访问Tkinter变量(读取,写入或删除)时设置回调。在这里阅读变量轨迹:http://effbot.org/tkinterbook/variable.htm。 Tkinter有一些GUI工具包有些独特的功能;这是其中之一。这是一个非常强大的构造。 – 2012-07-14 13:00:46
@BryanOakley工作很好。我不知道文本变量选项。非常感谢! – mattgarkusha 2012-07-15 00:54:01