Sadatake
@Sadatake

Как создавать фреймы в неопределённом кол-ве?

Доброго времени Хабр!
Прошу у вас помощи, так как у меня мозги не хватает. Изначально преследуется задача создать окно, в котором можно выбрать n-кол-во файлов с ПК, а именно создавать фрейм в котором будет label(выбранный файл) и кнопка выбора файла, при этом label необходимо изменить после нажатия кнопки.
Изначально неизвестно сколько будет файлов, по этому я не могу их заранее прописать в основном окне. Я попытался решить через генератор, но в таком случае я не понимаю как обрабатывать созданные фреймы.

from tkinter import *
from tkinter import ttk

def check():
    def frame(num):
        civ = num
        num = ttk.Frame(borderwidth=10, relief=SOLID, padding=[8,10])
        lab = ttk.Label(num, f"Текст №{civ}")
        return num
    for i in range(10):
        i = frame()
        i["lab"].pack()
        i.pack()
        yield 

root = Tk()
root.title("Papa ute")
root.geometry("250x250")

rbtn = ttk.Button(text="Создать фрейм", command=check)
rbtn.pack()


root.mainloop()
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Простой вариант - складывай нужные объекты в список. Если что, можно сделать список кортежей.
Чуть более сложный вариант - опиши класс, описывающий пару кнопка-label, и реализующий логику выбора файла, и складывай в список экземпляры этого класса.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы