Изображение от juicy_fish: ‹a href="https://fr.freepik.com/vecteurs-libre/degrade-fierte-1_34294823.htm#query=Colors&position=6&from_view=search&track= robertav1_2_sidr'›Изображение juicy_fish‹/a› на Freepik

Возможно, вы захотите создать приложение/игру Python, в которой вы позволите пользователю выбирать цвета этого приложения. Модуль Tkinter, который я вам покажу, упрощает эту задачу!

Модуль называется «colorchooser». Вы можете импортировать его с помощью этой команды:

from tkinter import colorchooser

При вызове с помощью функции «colorchooser.askcolor()» появляется окно, содержащее различные варианты цветов.

Окно выбора цвета выглядит так:

Как видите, он содержит любые цвета, как базовые, так и пользовательские. Он позволяет выбрать цвет тремя различными способами: щелкнув готовый цвет, создав собственный цвет и вставив его с помощью системы RGB. Вы даже можете настроить яркость и насыщенность!

Теперь давайте посмотрим на пример!

from tkinter import colorchooser
from customtkinter import *
from tkinter import *

root = Tk()
root.geometry("800x400")


def set_color():
    color = colorchooser.askcolor()[1]
    color_me.configure(fg_color=color)


color_me = CTkButton(root, text="Set a color", font=("Arial", 30),
                     text_color="white", fg_color="green", command=set_color)
color_me.pack(pady=50)

root.mainloop()

В этом коде мы импортируем customtkinter и библиотеку tkinter и из tkinter импортируем модуль colorchooser.

Затем мы создаем наше окно и определяем функцию, которая принимает идентификатор/значение цвета. Обратите внимание, что функция «colorchooser.askcolor()» дает нам кортеж из двух значений: другой кортеж, содержащий значения RGB, и строку, содержащую шестнадцатеричный код цвета. Использовать шестнадцатеричный код проще, поэтому я поставил «[1]» в конце функции.

Затем мы создаем кнопку с именем «color_me» с помощью customtkinter и помещаем ее на экран с помощью функции pack. Подумайте о том, чтобы дать виджету некоторое «пространство для дыхания», чтобы он не располагался вверху (используйте отступы по вертикальной оси). Наконец, мы вызываем mainloop.

Теперь у нас есть что-то вроде этого:

Мы нажимаем на кнопку, и появляется цветное окно:

Выберите любой цвет, который вы хотите, и вуаля!

Цвет кнопки изменился!

Здесь я показал пример с кнопкой, но вы можете применить его практически к любому виджету, вы даже можете применить его к окну или изменить параметры text_color и hover_color виджета.

Теперь вы знаете, как использовать не очень популярный, но очень полезный инструмент Python с графическим интерфейсом! Дайте немного «силы» своим пользователям!