Russian Qt Forum
Сентябрь 30, 2024, 12:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: системные цвета  (Прочитано 3517 раз)
a_goodgirl
Гость
« : Май 14, 2012, 12:49 »

Здравствуйте! Задавала вопрос на форуме CrossPlatform, никто не ответил..
Попробую здесь:

Нужно получить системные цвета (цвет фона заголовка, текста заголовка, рамки и т.д.).

Для Windows можно взять ::GetSysColor с константами типа COLOR_ACTIVEBORDER, COLOR_ACTIVECAPTION и так далее.
Для других платформ пытаюсь использовать qApp->palette().color с разными QPalette::ColorRole (например, QPalette::ButtonText - цвет текста в кнопке).

Но дело в том, что ColorRole гораздо меньше, чем констант в Windows !

например, для COLOR_ACTIVEBORDER, COLOR_ACTIVECAPTION, COLOR_GRAYTEXT и т.д. (у меня получилось 13 штук таких) никакого соответствия в ColorRole не находится..
Как бы это задать?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Май 14, 2012, 12:57 »

Как бы это задать?
Увы никак Грустный
Дело в том, что декорациями окна управляет WindowManager (WM), которых под X11 великое множество. И, насколько мне известно, не существует стандарта, которым бы описывалось API доступа к WM, для получения ресурсов описывающих декорации окна.
Записан

Qt 5.11/4.8.7 (X11/Win)
a_goodgirl
Гость
« Ответ #2 : Май 14, 2012, 16:21 »

ну откуда-то qt берет цвета, когда рисует окно (заголовок, цвет шрифта заголовка, рамку и т.д.)
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Май 14, 2012, 16:29 »

ну откуда-то qt берет цвета, когда рисует окно (заголовок, цвет шрифта заголовка, рамку и т.д.)
Qt рисует декорации только своих под-окон в режиме MDI либо в QGraphicsProxyWidget. Во всех других случаях декорации рисует WM, т.е. совершенно другой процесс.
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.055 секунд. Запросов: 23.