Tkinter 入口小部件执行 [英] Tkinter entry widget execution
本文介绍了Tkinter 入口小部件执行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我做了一个简单的程序但是它似乎不起作用我的代码是:
So I made a simple program however it doesn't seem to work my code is:
e = Entry(root, font = 20,borderwidth=5)
e.grid(row=1)
def capture(event):
print(e.get())
e.bind("<Key>", capture)
然而,当我第一次在框中输入内容时,我得到的只是一个空字符串.
However the first time I enter something in the box, all I get is an empty string.
推荐答案
正如@Art 所说:
您可以使用 "
, e.bind("
或简单地使用 StringVar()
You can use "<KeyRelease>"
, e.bind("<Key>", lambda event: e.after(1, capture, event))"
or simply Use StringVar()
from tkinter import *
root=Tk()
e = Entry(root, font = 20,borderwidth=5)
e.grid(row=1)
def capture(event):
print(e.get())
e.bind("<Key>", lambda event: e.after(1, capture, event))
root.mainloop()
或者你可以使用 StringVar()
from tkinter import *
root=Tk()
s=StringVar()
e = Entry(root,textvariable=s, font = 20,borderwidth=5)
e.grid(row=1)
def capture(*args):
print(s.get())
s.trace("w",capture)
root.mainloop()
这篇关于Tkinter 入口小部件执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文