Как сохранить несколько записей из нескольких виджетов Entry в Tkinter? - PullRequest
0 голосов
/ 21 апреля 2020

Прежде чем кто-либо пометит его как дублирующий вопрос, пожалуйста, прочитайте заранее.

У меня есть несколько виджетов ввода, в которые пользователь вводит DoubleVar() вводы. Каждое поле ввода имеет собственную метку, которая была помечена вручную.

Мне успешно удалось зафиксировать значение ввода в поле один , создав следующую функцию и создав button, который вызывает эту функцию -

def get_entry():
    EntryValue=EntryBox.get("1.0","end-1c")
    print(EntryValue)

Есть ли способ применить тот же лог c для нескольких полей ввода С метки EntryBox и сохранить все это в текстовый файл?

1 Ответ

2 голосов
/ 21 апреля 2020

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

На самом деле это не так. Вы должны использовать .get(), , но вам не нужно делать это вручную .

При создании макета окна сохраните метки и виджет ввода в списке из 2- кортежи, вот так;

mywidgets = [(Label1, Entry1), (Label2, Entry2), ...]

Тогда вы можете сделать что-то вроде этого:

def get_entry():
    with open('output.txt', 'w') as out:
        for label, entry in mywidgets:
            out.write(label['text']+entry.get()+'\n')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...