Russian Qt Forum

Qt => Общие вопросы => Тема начата: leonike от Апрель 21, 2011, 00:01



Название: вопрос по qss
Отправлено: leonike от Апрель 21, 2011, 00:01
Здравствуйте!

допустим есть три виджета:
widget1, widget2, widget3

все они располагаются на родительском виджете parentWidget по горизонтали.
нужно, чтобы у widget1 и widget3 фон был один, а у widget2 - другой.

делал так: с помощью qss задавал parentWidget цвет фона widget1 и widget3, а widget2 - свой цвет.
однако, widget 2 не изменял фоновый цвет, а изменяли цвет виджеты - дочерние по отношению в widget2, т.е. если на widget2 разместить кнопку, то у нее фон будет цвета необходимого для widget2.

собственно, вопрос: как добиться желаемого эффекта?


Название: Re: вопрос по qss
Отправлено: Amigo_sa от Апрель 21, 2011, 13:40
Скорее всего вы указали стиль, который не поддерживает QWidget, зато прекрасно поддерживают объекты, которые на нем располагаются. Проверьте, по таблице стилей виджетов (http://doc.qt.nokia.com/latest/stylesheet-reference.html), тот ли стиль вы указали.


Название: Re: вопрос по qss
Отправлено: leonike от Апрель 21, 2011, 17:55
если показывать widget2 отдельно, то стиль применяется отлично как к нему, так и к потомкам, а если с родителем, то только к потомкам.


Название: Re: вопрос по qss
Отправлено: leonike от Апрель 28, 2011, 19:46
В общем, в очередной раз отвечаю себе сам. Унаследовал QWidget и переопределил painEvent, там все просто.