所以我有这段代码:
from Tkinter import *
Admin = Tk()
def searches():
gett = search.get()
lab = Label(frame, text='searching for ' + gett)
lab.pack(side='bottom')
frame = Frame(Admin)
frame.pack()
search = Entry(frame)
search.pack(side='left')
button = Button(frame, text='Search', command=searches)
button.pack(side='right')
getts = search.get()
Admin.mainloop()
other = getts
print other
但“其他”不会继承条目中的文字请帮助。
答案 0 :(得分:0)
您正在调用search.get()
并将结果分配给getts
- 然后将其分配给other
- 在GUI显示在屏幕上之前。因此,search.get()
的结果将是空字符串,因为您没有使用任何数据预加载窗口小部件。由于getts
为空,因此当other
分配给other
时,{{1}}也为空。
答案 1 :(得分:0)
您在主循环执行之前设置getts
。当您运行程序并在Entry字段中输入内容时,这不会更改您已设置的变量的值。
如果要在Admin.mainloop()
退出后读取输入字段的值,则必须让Tkinter对象设置getts
的值以响应某些GUI操作。一种方法是使用退出回调。例如,请参阅Intercept Tkinter "Exit" command?。在你的情况下你想要像
Admin.protocol("WM_DELETE_WINDOW", SomeFunctionWhichSetsGetts)
或者更好(仔细阅读链接的帖子)使用Entry
方法创建destroy()
的子类,为您设置getts
。