Сделайте это
def get_var():
case_name_entry.delete(0, END)
new_text = "new text"
print(new_text)
case_name_entry.insert(0, new_text)
, он очистит запись и вставит в нее текст, а не импортирует tkinter
с подстановочным знаком *
, так что нет необходимости импортировать так, как вы сделалиimport tkinter as tk
. Также, где вы позиционируете вас Stringvar
будет очень сложно, если вдоль линии вы хотите отладить свой код. Ниже приведена хорошая структура вашего кода.
ПОЛНЫЙ КОД
import tkinter as tk
def get_var():
case_name_entry.delete(0, tk.END)
new_text = "new text"
print(new_text)
case_name_entry.insert(0, new_text)
window = tk.Tk()
window.title("My Program")
case_name_lbl = tk.Label(window, text="Case Name:")
case_name_lbl.pack(padx=10, pady=10,side=tk.LEFT)
v = tk.StringVar(window, value='default text')
case_name_entry = tk.Entry(window, textvariable=v)
case_name_entry.pack(fill=tk.X, expand=True, padx=10, pady=10, side=tk.LEFT)
btn = tk.Button(window, text='File', width=10, command=get_var)
btn.pack(in_=window, padx=10, pady=10, side=tk.LEFT)
window.mainloop()