Название: StyleSheet. Градиент и прозрачность. Отправлено: Rainbow от Март 17, 2011, 18:06 Уважаемые форумчане,
возникла следующая проблема: есть компонент QWidget его stylesheet: QWidget { background-image: url(:/background/res/texture01.png); } (texture01.png - небольшая текстура 16x16px) И есть на этом виджете другие компоненты, скажем, еще один QWidget. Его stylesheet к п римеру: QWidget { background-color: rgba(255, 255, 255,100); } Проблема! Параметры фона на всех дочерних виджетах игнорируюстя: цвет заливки, прозрачность Хотя если вместо Color использовать Image, залитую определенным цветом с прозрачностью, то нужный эффект достигается... НО в таком случае при скруглении краев компонентов болучается черти знает что ( Заранее спасибо! Заметка Поэксперементировав со скруглением, понял, что проблемы при скруглении виджета возникают когда в качестве фона используется изображение Название: Re: StyleSheet. Градиент и прозрачность. Отправлено: Rainbow от Март 17, 2011, 18:51 Нашел решение...
Если кому интересно: СПОСОБ 1: глупый. Т.к. проблема кроется в наследовании таблиц стилей, в качестве родительского виджета используем, скажем QFrame. А на него можно лепить сколько угодно QWidgetov с заданными CSS Такое решение меня не устроило, начал копать дальше иии... СПОСОБ 2: очевидный CSS QWidgeta-родителя оставляем неизменным, а вот фон потомков в CSS указываем не через background-color, а через background. Свойство background имеет высший приоритет над свойствами background-color, background-image и т.д. Поэтому и работает... Ошибка была в том, что указывая у дочернего виджета background-color он в то же время наследовал background-image родителя... и применял, соответсвтенно его в качестве фона... |