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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: StyleSheet. Градиент и прозрачность.  (Прочитано 7071 раз)
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, залитую определенным цветом с прозрачностью, то нужный эффект достигается... НО в таком случае при скруглении краев компонентов болучается черти знает что (

Заранее спасибо!

Заметка
Поэксперементировав со скруглением, понял, что проблемы при скруглении виджета возникают когда в качестве фона используется изображение
« Последнее редактирование: Март 17, 2011, 18:29 от Rainbow » Записан
Rainbow
Гость
« Ответ #1 : Март 17, 2011, 18:51 »

Нашел решение...

Если кому интересно:
СПОСОБ 1: глупый. Т.к. проблема кроется в наследовании таблиц стилей, в качестве родительского виджета используем, скажем QFrame. А на него можно лепить сколько угодно QWidgetov с заданными CSS
Такое решение меня не устроило, начал копать дальше иии...

СПОСОБ 2: очевидный CSS QWidgeta-родителя оставляем неизменным, а вот фон потомков в CSS указываем не через background-color, а через background. Свойство background имеет высший приоритет над свойствами background-color, background-image и т.д. Поэтому и работает... Ошибка была в том, что указывая у дочернего виджета background-color он в то же время наследовал background-image родителя... и применял, соответсвтенно его в качестве фона...

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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