输入小部件 Tkinter。我越来越困惑
Entry widget Tkinter. I am getting confused
想问个问题,我觉得可能很简单,但是我怎么也搞不懂!
我在 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()
要介绍一段文字,我必须把它写在框中,然后按回车吗?
非常感谢
巴勃罗
文本是在主循环中输入的。使用回调(例如使用按钮小部件)获取您的文本。
例如,这里是使用 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()
您还可以使用以下行为所有 window 绑定 <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
想问个问题,我觉得可能很简单,但是我怎么也搞不懂!
我在 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()
要介绍一段文字,我必须把它写在框中,然后按回车吗? 非常感谢 巴勃罗
文本是在主循环中输入的。使用回调(例如使用按钮小部件)获取您的文本。
例如,这里是使用 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()
您还可以使用以下行为所有 window 绑定 <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