Есть ли способ получить ссылку на кадр ребенка? - PullRequest
2 голосов
/ 14 января 2020

Я написал GUI, который работает нормально, он должен получить некоторую информацию из файла и показать мне записи, а также исходя из количества информационных строк, он сгенерирует столько же записей.

Проблема в этом коде: я хочу позволить мне изменить некоторые значения и сохранить их обратно в файл, и я не знаю, как извлечь этот entry.get () из всех записей во фрейме. Если я попытаюсь получить ссылку на него, я получу только последние напечатанные изменения записи.

def DataShow(self):
    # Import dictionary after the settings file was read
    from res.lib.Settings import app_settings

    # Make local frame
    frame = ScrolledFrameVertical(self, width=353)
    frame.pack(expand=True, fill="y", side="top")

    Button(frame, text="Save", command=lambda:save()).pack(fill="x", side="top")

    # Create entrys base on dictionary data and info
    for data, info in app_settings.items():
        d = Settings.Entry(frame, data, 20, info, 31)

    def save():
        print(d.get())

И выглядит так: And is look like that

1 Ответ

2 голосов
/ 14 января 2020

Вы можете получить все дочерние элементы виджета с помощью .winfo_children().

def save():
    for child in frame.winfo_children():
        print(child.get())
...