Название: Как создать собственный виджет, поддерживающий стили (styleSheet) Отправлено: marbius от Ноября 16, 2010, 20:04 Доброго времени суток.
До сих пор наследовал от QWidget с переопределенным paintEvent и не шибко задумываясь ставил разного рода QPainter::setBrush и QPainter::setPen с собственными значениями стилей и цветов. Подумал создать виджет, поддерживающий стили (QWidget::setStyleSheet), смотрел реализации в Qt, но, увы... Может кто разбирался и сможет подсказать, как это можно реализовать? Минимум - как добраться до цветов, задаваемых styleSheet'ом? Благодарен. Название: Re: Как создать собственный виджет, поддерживающий стили (styleSheet) Отправлено: ltise от Ноября 16, 2010, 20:36 А что именно интерисует ?
Ты можешь в стиле задать конкретный стиль для своего виджета: QWidget#MyWidget{ } ... widget->setObjectName("MyWidget"); до цветов можно добраться через палитру: widget->palette().background() и т.п. или инициализировать паинтер: painter->initFrom(someWidget); Название: Re: Как создать собственный виджет, поддерживающий стили (styleSheet) Отправлено: xokc от Ноября 16, 2010, 22:04 Видимо как-то так (http://doc.qt.nokia.com/4.7/qstyle.html#developing-style-aware-custom-widgets)
Код
Название: Re: Как создать собственный виджет, поддерживающий стили (styleSheet) Отправлено: Marat(Qt) от Ноября 16, 2010, 22:14 Видимо как-то так (http://doc.qt.nokia.com/4.7/qstyle.html#developing-style-aware-custom-widgets) Там вроде QStylePainter вместо QPainter используется.Код
2ts option'ы дают возможность отрисовывать примитивы в заданном состоянии(hover, с фокусом, активный/не активный...) Название: Re: Как создать собственный виджет, поддерживающий стили (styleSheet) Отправлено: xokc от Ноября 17, 2010, 21:53 Там вроде QStylePainter вместо QPainter используется. Где?... Код ... |