它正在收集垃圾。
您可以删除函数(也不应像这样嵌套函数)
from tkinter import *from tkinter.ttk import *tk=Tk()var=StringVar(value="default value")Entry(tk, textvariable=var).pack()Button(tk,text='OK').pack()mainloop()
或者,如果要保留该功能,则将stringvar设置为tk的属性或将其设置为全局属性。
使其全球化:
from tkinter import *from tkinter.ttk import *tk=Tk()var = StringVar(value="Default value")def sub(): Entry(tk, textvariable=var).pack() Button(tk,text='OK').pack()sub()mainloop()
作为tk的属性:
from tkinter import *from tkinter.ttk import *tk=Tk()def sub(): tk.var = StringVar(value="Default value") Entry(tk, textvariable=tk.var).pack() Button(tk,text='OK').pack()sub()mainloop()



