条目小部件Tkinter。我很困惑

时间:2015-04-20 09:08:38

标签: python tkinter

我想问一些我认为可能很简单的事情,但我无法理解!

我在python中使用tkinter,我正在尝试构建一个条目。该条目的文本应存储在一个变量中(我称之为" s")。但是,我还希望这个小部件动态地工作。例如。我启动程序,我从键盘中引入一些文本,然后存储在" s"中,然后我想介绍一些不同的东西,现在是什么" s"变量存储是新引入的文本,而不是旧文本。我写了这段代码但我的" s"变量始终存储原始文本。

root = Tk()
root.geometry("250x250")

e = Entry(root)
e.pack()

e.delete(0, END)
e.insert(0, "a default value")
s = e.get()

print s
root.mainloop() 

要介绍文本,我是否必须在框中写入,然后按Enter键? 非常感谢 巴勃罗

1 个答案:

答案 0 :(得分:0)

在主循环期间输入文本。使用回调(例如使用Button小部件)来获取文本。

例如,这是使用Button

的回调
from tkinter import *

def print_input(entry):
    print entry.get()

root = Tk()
root.geometry("250x250")
e = Entry(root)
e.pack()

b = Button(root, text="Print my input", command=lambda e=e: print_input(e))
b.pack()

root.mainloop()

您还可以使用以下行绑定所有窗口的<return>键:

def func(event):
    print("You hit return.")
root.bind('<Return>', func)

以下是一些有趣的方法:Can't figure out how to bind the enter key to a function in tkinter