You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Tkinter获取输入值并更新Python字典内容?

Tkinter输入框内容无法存入字典的解决方法

问题原因

  1. 语法错误:原代码中e - Entry(master, textvariable=v)的减号是笔误,应改为等号=,否则会引发变量未定义的错误。
  2. 逻辑错误:s = v.get()在程序启动时就执行了,此时输入框还没有任何输入,所以s是空字符串。后续用户输入内容后,s的值不会自动更新,因为get()方法仅执行了一次。

修正方案一:界面关闭后获取输入值

from tkinter import Tk, StringVar, Button, mainloop, Entry

master = Tk()
master.geometry("320x270")

v = StringVar()
e = Entry(master, textvariable=v)  # 修正赋值符号
e.pack()

exit_button = Button(master, text="submit", command=master.destroy)
exit_button.pack(pady=20)

mainloop()

# 在界面关闭后,获取输入框的最终内容
s = v.get()
a = {"aaa": s}
print(a)

修正方案二:按钮回调时获取输入值

这种方式更符合交互逻辑,点击提交按钮时立刻获取输入内容并存入字典:

from tkinter import Tk, StringVar, Button, mainloop, Entry

# 初始化字典
a = {"aaa": ""}

def submit():
    global a
    # 获取当前输入框的内容并更新字典
    a["aaa"] = v.get()
    master.destroy()

master = Tk()
master.geometry("320x270")

v = StringVar()
e = Entry(master, textvariable=v)
e.pack()

# 绑定回调函数到提交按钮
exit_button = Button(master, text="submit", command=submit)
exit_button.pack(pady=20)

mainloop()

print(a)

内容的提问来源于stack exchange,提问作者Zalman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:57:43