Загрузка данных


from tkinter import *

# 1. Функция, которая будет обновлять текст в метках
def update_palette(name, code):
    label_name.config(text=name)
    label_code.config(text=code)

root = Tk()
root.title("Палитра")

# --- ВЕРХНЯЯ ЧАСТЬ (Текстовые метки) ---
f_text = Frame(root)
f_text.pack(pady=10)

# Метка для названия цвета
label_name = Label(f_text, text="Выберите цвет", bg="black", fg="white", width=15)
label_name.pack(side=LEFT, padx=5)

# Метка для кода цвета
label_code = Label(f_text, text="#??????", relief=SUNKEN, width=15)
label_code.pack(side=LEFT, padx=5)

# --- НИЖНЯЯ ЧАСТЬ (Кнопки) ---
f_colors = LabelFrame(root, text="Цвета радуги")
f_colors.pack(padx=10, pady=10)

# Список кортежей: (Название цвета, HEX-код)
rainbow = [
    ("Красный", "#ff0000"),
    ("Оранжевый", "#ff7f00"),
    ("Жёлтый", "#ffff00"),
    ("Зелёный", "#00ff00"),
    ("Голубой", "#00ffff"),
    ("Синий", "#0000ff"),
    ("Фиолетовый", "#8b00ff")
]

# 2. Создаем кнопки в цикле и привязываем действие
for name, code in rainbow:
    # Важный момент: используем lambda n=name, c=code, 
    # чтобы программа запомнила значения именно для этой кнопки
    btn = Button(
        f_colors, 
        bg=code, 
        width=4, 
        height=2, 
        command=lambda n=name, c=code: update_palette(n, c)
    )
    btn.pack(side=LEFT, padx=5, pady=5)

root.mainloop()