Russian Qt Forum
Ноябрь 24, 2024, 21:30
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Проблема с фоном - StyleSheet Qt
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Проблема с фоном - StyleSheet Qt (Прочитано 7201 раз)
alcalinn
Гость
Проблема с фоном - StyleSheet Qt
«
:
Апрель 08, 2016, 19:06 »
Cоздал класс наследующий от QWidget. Хотел добавить к нему фон при помощи StyleSheet, но почему-то в этот фон раскрашиваются кнопки и Label которые находятся на этом QWidget-е. Можете объяснить почему и/или сказать что надо сделать чтобы нормально поставить фон?
Here the program
Записан
torwig
Самовар
Offline
Сообщений: 134
Re: Проблема с фоном - StyleSheet Qt
«
Ответ #1 :
Апрель 08, 2016, 19:16 »
Пишите правило в setStyleSheet
- по имени класса:
Код:
.QWidget
{
ваш CSS
}
или
- по имени обьекта
Код:
#MyWidget
{
ваш CSS
}
ибо если без этого, то кнопки и метки имеют тот же CSS, что и у родителя (вашего наследника QWidget).
Записан
alcalinn
Гость
Re: Проблема с фоном - StyleSheet Qt
«
Ответ #2 :
Апрель 08, 2016, 19:27 »
Цитата: torwig от Апрель 08, 2016, 19:16
Пишите правило в setStyleSheet
- по имени класса:
Код:
.QWidget
{
ваш CSS
}
или
- по имени обьекта
Код:
#MyWidget
{
ваш CSS
}
ибо если без этого, то кнопки и метки имеют тот же CSS, что и у родителя (вашего наследника QWidget).
Представим что Widget3 - название моего объекта. Чтобы поставить фон, я должен сделать так?
#Widget3{background-image:url(./image.png)} //Во всяком случае это почему-то не работает, фон не появляется.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Проблема с фоном - StyleSheet Qt
«
Ответ #3 :
Апрель 08, 2016, 21:35 »
Цитата: alcalinn от Апрель 08, 2016, 19:27
#Widget3{background-image:url(./image.png)} //Во всяком случае это почему-то не работает, фон не появляется.
https://wiki.qt.io/How_to_Change_the_Background_Color_of_QWidget
Записан
Bepec
Гость
Re: Проблема с фоном - StyleSheet Qt
«
Ответ #4 :
Апрель 08, 2016, 22:14 »
Ранее у кутешки была такая бага - виджет верхнего уровня не принимал картинку.
Решение довольно простое, хоть и кажется костыльным - положить QFrame в виджет и потом уже на него накидать остальное. Фрейм спокойно принимает картинку.
PS попробуйте, вдруг этот совет поможет
PPS маргины главного лейаута нужно в 0 установить, иначе будет неприятная рамка в 9 пикселей
Записан
pl
Гость
Re: Проблема с фоном - StyleSheet Qt
«
Ответ #5 :
Апрель 12, 2016, 00:03 »
Цитата: Bepec от Апрель 08, 2016, 22:14
Решение довольно простое, хоть и кажется костыльным - положить QFrame в виджет и потом уже на него накидать остальное
Проблема решается ручной отрисовкой стиля, как в примере в вики в предыдущем комментарии.
Записан
alcalinn
Гость
Re: Проблема с фоном - StyleSheet Qt
«
Ответ #6 :
Апрель 23, 2016, 22:57 »
Цитата: Bepec от Апрель 08, 2016, 22:14
Ранее у кутешки была такая бага - виджет верхнего уровня не принимал картинку.
Решение довольно простое, хоть и кажется костыльным - положить QFrame в виджет и потом уже на него накидать остальное. Фрейм спокойно принимает картинку.
PS попробуйте, вдруг этот совет поможет
PPS маргины главного лейаута нужно в 0 установить, иначе будет неприятная рамка в 9 пикселей
Можешь дать пример?
Записан
Bepec
Гость
Re: Проблема с фоном - StyleSheet Qt
«
Ответ #7 :
Апрель 24, 2016, 03:08 »
Почему бы и нет.
Бага кстати осталась и на последней версии Qt.
Файл во вложении снизу поста.
to pl: ручная отрисовка стиля != QSS. Это как раз жуткий отказ от изменяемого на лету стиля в угоду жестко закодированному оформлению
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Проблема с фоном - StyleSheet Qt
«
Ответ #8 :
Апрель 25, 2016, 10:31 »
Правильный ответ дан по ссылке
https://wiki.qt.io/How_to_Change_the_Background_Color_of_QWidget
. Использование QFrame - это хак, который в принципе делает тоже самое, что и решение по ссылке - вручную отрисовывает стиль. Не сам QSS, а объект стиля.
Записан
Bepec
Гость
Re: Проблема с фоном - StyleSheet Qt
«
Ответ #9 :
Апрель 25, 2016, 12:40 »
Я б сказал и то и то хак, который исправляет баг.
PS но это уже несущественно
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...