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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как узнать цвет границы виджета?  (Прочитано 3519 раз)
kirill
Гость
« : Май 26, 2009, 09:10 »

Нужно нарисовать свой виджет через styleSheet().
При этом границу нарисовать через border-color: #color;
Граница должна иметь цвет такой же, как у виджета QTreeView.
Цвет границы меняется в зависимости от стиля. Поэтому мне нужно узнать цвет границы в зависимости от стиля.
В QPalette ничего похожего нет.
Полез во внутренности qwindowsxpstyle, там цвет грузится из либы uxtheme.dll
Но это сложно, нет ли чего попроще?
Да и под линухом этой либы нету, как тогда быть. Кто нить знает?
Записан
Rcus
Гость
« Ответ #1 : Май 26, 2009, 09:31 »

У виджета нет цвета границы, есть граница QFrame /** \see ./src/gui/widgets/qframe.cpp : QFrame::drawFrame */
Записан
kirill
Гость
« Ответ #2 : Май 26, 2009, 09:38 »

У виджета нет цвета границы, есть граница QFrame /** \see ./src/gui/widgets/qframe.cpp : QFrame::drawFrame */

Посмотрел. Контрол рисуется через стиль
style()->drawControl(QStyle::CE_ShapedFrame, &opt, p, this);
Стиль в моем случае qwindowsxpstyle, а он берет цвет pen через геморой с uxtheme
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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