Создание диалогового окна выбора цвета Tkinter в Python
Диалоговое окно выбора цвета Tkinter
Для отображения собственного диалогового окна выбора цвета используйте модуль tkinter.colorchooser.
- Сначала импортируйте функцию askcolor() из модуля tkinter.colorchooser:
from tkinter.colorchooser import askcolor
- Во-вторых, вызовите функцию askcolor(), чтобы отобразить диалоговое окно выбора цвета:
askcolor(color=None, **options)
Если вы выбираете цвет, функция askcolor() возвращает кортеж, содержащий два значения, представляющих выбранный цвет:
- Первое значение — это представление RGB.
- Второе значение — шестнадцатеричное представление.
Например:
((255.99609375, 0.0, 255.99609375), '#ff00ff')
Если вы не выбрали ни одного цвета в диалоговом окне выбора цвета, функция askcolor() возвращает None.
Пример выбора цвета в Tkinter
Следующая программа иллюстрирует, как использовать диалог выбора цвета. Фон корневого окна изменится на выбранный цвет.
import tkinter as tk from tkinter import ttk from tkinter.colorchooser import askcolor root = tk.Tk() root.title('Tkinter Color Chooser') root.geometry('300x150') def change_color(): colors = askcolor(title="Tkinter Color Chooser") root.configure(bg=colors[1]) ttk.Button( root, text='Select a Color', command=change_color).pack(expand=True) root.mainloop()
Выход:
Как это работает.
- Сначала импортируем tkinter и colorchooser:
import tkinter as tk from tkinter import ttk from tkinter.colorchooser import askcolor
- Во-вторых, создайте корневое окно:
root = tk.Tk() root.title('Tkinter Color Chooser') root.geometry('300x150')
- В-третьих, определите функцию, которая будет выполняться при нажатии кнопки «Выбрать цвет»:
def change_color(): colors = askcolor(title="Tkinter Color Chooser") root.configure(bg=colors[1])
- В-четвертых, создайте кнопку и назначьте функцию change_color() ее параметру команды:
ttk.Button( root, text='Select a Color', command=change_color).pack(expand=True)
- Наконец, запустите метод mainloop() корневого окна:
root.mainloop()