Python tkinter中输入框中显示文本的问题
我一直在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
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()方法。再次感谢。