Определение значения RBG "SystemFaceButton" в RunTime - PullRequest
0 голосов
/ 29 августа 2018

Я использую tkinter и PIL, чтобы сделать базовый просмотрщик фотографий (в основном для целей обучения). У меня для всех моих виджетов цвет bg установлен по умолчанию, то есть «systemfacebutton», что бы это ни значило. Я использую модуль PIL.Image для просмотра и поворота моих изображений. Когда изображение поворачивается, вы должны выбрать цвет заливки для области за изображением. Я хочу, чтобы этот цвет заливки совпадал с системным цветом по умолчанию, но я понятия не имею, как получить для этого значение rgb или имя поддерживаемого цвета. Он должен быть рассчитан Python во время выполнения, чтобы он был совместим с любой операционной системой.

Кто-нибудь знает, как я могу это сделать?

1 Ответ

0 голосов
/ 29 августа 2018

Вы можете использовать w.winfo_rgb("systembuttonface"), чтобы превратить любое имя цвета в кортеж R, G, B. (w - это любой виджет Tkinter, возможно, корневое окно. Обратите внимание, что у вас зашифровано имя цвета.) Значения по неизвестной причине возвращаются 16-битные значения, вам, вероятно, потребуется сдвинуть их вправо на 8 бит, чтобы получить значения 0-255, обычно используемые для задания цветов.

...