#tkinter
Вопрос:
Когда я пытаюсь добавить значение полей ввода tkinter, созданных в цикле, в список, это дает мне результат — <tkinter.Entry object .!entry>
для каждого значения поля ввода, а не фактическое значение введенного поля ввода. Как я могу это исправить?
Ответ №1:
Этот фрагмент кода отвечает на ваш вопрос.
Используйте bind
, чтобы связать свой Entry
виджет для возврата нажатия клавиши и функции answer
.
Затем используйте метод get
на виджете, подключенном для возврата, нажмите клавишу, чтобы извлечь содержимое Entry
виджета.
import tkinter as tk
master = tk.Tk()
def answer( ev ):
print(ev.widget.get())
for a in range( 4 ):
e = tk.Entry(master, font = "Helvetica 14 normal")
e.pack(fill = "both", expand = True)
e.bind("<Return>", answer)
e.focus()
master.mainloop()
Комментарии:
1. Спасибо, @Дерек. Логика, лежащая в основе того, что вы сказали, имеет смысл и должна решить мою проблему. Я также понял, что значения хранятся, но отображаются как объекты ввода. Спасибо за помощь!
2. Молодец @Kane_Iskra. Счастливого кодирования.