Итак, у меня довольно сложная программа, и я столкнулся с проблемой, которую не могу решить. Вот проблема c части моей программы:
import tkinter as tk
window = tk.Tk()
variable = "enter"
vars()[variable] = tk.Entry()
vars()[variable].insert(0, "hello")
vars()[variable].pack()
def hi():
text = vars()[variable].get()
button = tk.Button(text = "Click", command = hi)
button.pack()
Мне нужно получить содержимое записи с именем «ввод» нажатием кнопки. Из-за того, как работает моя программа, это имя, «ввод», должно храниться в переменной, которую я здесь назвал «переменная». Что происходит, когда я нажимаю кнопку, я получаю KeyError.
Что еще более странно, так это то, что когда я делаю следующее, программа действительно работает:
import tkinter as tk
window = tk.Tk()
variable = "enter"
vars()[variable] = tk.Entry()
vars()[variable].insert(0, "hello")
vars()[variable].pack()
text = vars()[variable].get()
button = tk.Button(text = "Click")
button.pack()
Здесь получается содержание «ввода» не выполняется с помощью кнопки, но выполняется автоматически по мере выполнения программы. Это не то, что я хочу, но по какой-то причине это работает.
Что я могу сделать, чтобы 1-й код работал правильно?