Russian Qt Forum
Июля 07, 2025, 01:48
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
системные цвета
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: системные цвета (Прочитано 3736 раз)
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
Сообщений: 2921
Re: системные цвета
«
Ответ #1 :
Мая 14, 2012, 12:57 »
Цитата: a_goodgirl от Мая 14, 2012, 12:49
Как бы это задать?
Увы никак
Дело в том, что декорациями окна управляет WindowManager (WM), которых под X11 великое множество. И, насколько мне известно, не существует стандарта, которым бы описывалось API доступа к WM, для получения ресурсов описывающих декорации окна.
Записан
Qt 5.11/4.8.7 (X11/Win)
a_goodgirl
Гость
Re: системные цвета
«
Ответ #2 :
Мая 14, 2012, 16:21 »
ну откуда-то qt берет цвета, когда рисует окно (заголовок, цвет шрифта заголовка, рамку и т.д.)
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: системные цвета
«
Ответ #3 :
Мая 14, 2012, 16:29 »
Цитата: a_goodgirl от Мая 14, 2012, 16:21
ну откуда-то qt берет цвета, когда рисует окно (заголовок, цвет шрифта заголовка, рамку и т.д.)
Qt рисует декорации только своих под-окон в режиме MDI либо в QGraphicsProxyWidget. Во всех других случаях декорации рисует WM, т.е. совершенно другой процесс.
Записан
Qt 5.11/4.8.7 (X11/Win)
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...