Python tkinter中输入框中显示文本的问题

Python tkinter中输入框中显示文本的问题,python,tkinter,Python,Tkinter,我一直在Tkinter玩,试图提高我的技能,但我一直遇到输入框的问题 from tkinter import * from tkinter import ttk root=Tk() NAME = StringVar() NAME.set("724-###-###") def EDIT(*args): #Create Toplevel# TP_E = Toplevel(root) TP_E.title=("Edit:") TP_E.geometry("+575+3

我一直在Tkinter玩,试图提高我的技能,但我一直遇到输入框的问题

from tkinter import *
from tkinter import ttk

root=Tk()
NAME = StringVar()
NAME.set("724-###-###")
def EDIT(*args):
    #Create Toplevel#
    TP_E = Toplevel(root)
    TP_E.title=("Edit:")
    TP_E.geometry("+575+375")
    TP_E.focus()

    name = NAME.get()
    print(name)
    ttk.Entry(TP_E, textvariable=name).grid(column=1, row=1)

EDIT()


root.mainloop()

我让EDIT()作为带有按钮的命令运行,但我拔出它来测试它。我的问题是。为什么电话号码没有显示在输入框中。变量“name”获取数字,那么为什么它不在输入框中显示为文本呢。我以前在其他脚本中使用过它,那么我做错了什么?

属性
textvariable
的值必须是一个特殊的tkinter变量(
StringVar
,等等)

将代码更改为:


ttk.Entry(TP_E,textvariable=NAME).grid(column=1,row=1)

我本来不打算使用该变量,因为它不在函数范围内,但我认为在整个脚本的上下文中,它实际上会运行得更好。谢谢你的帮助。我想既然NAME是一个StringVar,那么NAME也应该是。因为我使用了get()方法。再次感谢。