首页 > 解决方案 > tkinter TextVar.get() 返回 '.!entry' 不是字符串

问题描述

我有以下代码,由于某种原因,当我将 .get() 调用到 tkinter.Entry 上的文本变量时,我得到 '.!entry' 而不是我期望的字符串。我怎样才能解决这个问题?

def getter():
    final = e1str_var.get()

e1str_var = StringVar()
e1 = Entry(root, textvar=e1str_var)

e1.grid(row=4, column=0)

print(getter())


返回 '​​.!entry'

标签: pythonpython-3.xpython-3.9

解决方案


当执行某些事件(例如按钮单击或绑定标签或其他带有事件的小部件)时,您只能在文本框中获取字符串。在这里,我使用了一个按钮来使用 get().

from tkinter import *

root=Tk()

def getter():
    final = e1str_var.get()
    print(final)

e1str_var = StringVar()
e1 = Entry(root, textvar=e1str_var)
b1=Button(root,text="Click",command=getter)

e1.grid(row=4, column=0)
b1.grid(row=5,column=0)

root.mainloop()

推荐阅读