Настройка tkinter Button для MacOS

Существует ряд проблем в реализации кнопок tkinter под Мак. Foreground, Background и другие свойства нормально не отрабатывают. Кнопка автоматически подстраивается под настройки темы MacOS, для темной темы шрифт будет белым и черным для светлой.

Выкрутиться можно настроив фон под кнопкой. Фон кнопки под Мак настраивается двумя параметрами: background и highlightbackground.

Для проверки какая тема установлена на Маке, есть удобный пакет darkdetect

pip3 install darkdetect
import darkdetect
import sys
# Fix for the font colours on macos when running dark mode
if sys.platform == 'darwin' and darkdetect.isDark():
    color_preset = {
        'background': '#212121',
        'highlightbackground': '#212121'
    }
    

Но и это еще не все 💩, изменения вступают в силу только когда произойдут изменения размеров окна, но это уже можно запилить сразу за инициализацией окна.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *