Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: kirill от Май 26, 2009, 09:10



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


Название: Re: Как узнать цвет границы виджета?
Отправлено: Rcus от Май 26, 2009, 09:31
У виджета нет цвета границы, есть граница QFrame /** \see ./src/gui/widgets/qframe.cpp : QFrame::drawFrame */


Название: Re: Как узнать цвет границы виджета?
Отправлено: kirill от Май 26, 2009, 09:38
У виджета нет цвета границы, есть граница QFrame /** \see ./src/gui/widgets/qframe.cpp : QFrame::drawFrame */

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