我有tkinter GUI,它使用Entry小部件进行输入。我正在尝试获取一个Button,以将Entry文本传递给方法。 Button没有像我预期的那样传递字符串。超级简化的示例:
import tkinter as tk
from functools import partial
def btn_click(s):
print('arg:' + s)
print('get:' + ent_var.get())
root = tk.Tk()
ent_var = tk.StringVar()
ent = tk.Entry(root, textvariable=ent_var)
ent.pack()
btn = tk.Button(root, text='click', command=partial(btn_click, ent_var.get()))
btn.pack()
root.mainloop()
在Entry小部件中输入“ asdf”,然后单击Button。结果是:
arg:
get:asdf
该函数可以按预期使用ent_var.get()
,但是Button命令似乎没有。有指导吗?