Tkinter Entry не показывает текущее значение textvariable

Рассмотрим этот код:

from tkinter import *
from tkinter.ttk import *

tk=Tk()

def sub():
    var=StringVar(value='default value')

    def f(): pass

    Entry(tk,textvariable=var).pack()
    Button(tk,text='OK',command=f).pack()

sub()
mainloop()

Мы ожидаем, что значениеvar появляется в записи, но на самом деле это не так.

Странная вещь в том, что если я поставлю заявлениеvar.get() в функции обратного вызова кнопки, значениеvar появится

Это ошибка, вызванная некоторой оптимизацией локальной переменной в Python? И что я могу сделать, чтобы убедиться, что значениеtextvariable всегда будет появляться в записи?

Пожалуйста, извините меня за мой плохой английский.

Ответы на вопрос(1)

Ваш ответ на вопрос