Tkinter добавление значений записей в список через цикл

#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. Счастливого кодирования.