Russian Qt Forum
Ноябрь 22, 2024, 18:01
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
QSS
>
StyleSheet. Градиент и прозрачность.
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: StyleSheet. Градиент и прозрачность. (Прочитано 7072 раз)
Rainbow
Гость
StyleSheet. Градиент и прозрачность.
«
:
Март 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
Гость
Re: StyleSheet. Градиент и прозрачность.
«
Ответ #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
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...