Применение стилей *.qss к собственным виджетам.
Здравствуйте!
Я пишу свой виджет, который отображает некоторые данные и к стандартным виджетам не имеет никакого отношения, кроме того, что является подклассом QWidget.
Есть у меня в программе файл стиля qss который я применяю к окну, на котором лежит разрабатываемый виджет.
QFile style(AppDefines::MainStyleSheetFile); style.open( QFile::ReadOnly ); QString stlDetail(style.readAll() ); setStyleSheet(stlDetail);
Стиль выглядит так:
... QFrame#frTestKindButtons { background-color: rgb(205, 209, 214); } QFrame#frTitle { font-size: 11pt; background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 rgb(1, 59, 86), stop: 0.5 rgb(2, 112, 164), stop: 1 rgb(1, 59, 86)); } QCheckBox { font-size: 11pt; color: rgb(32,88,103); } QGroupBox { font-size: 11pt; color: rgb(32,88,103); } ...
Я бы хотел в этом файле стиля создать раздел для моего нового виджета и определить в нем некоторые цвета и шрифты, например:
MyDiag { sig1-color: rgb(20, 30, 40); sig2-color: rgb(40, 20, 30); }
И потом в виджете получать данные к этим цветам и использовать их.
Встают вопросы.
1. Могу ли я это делать?
2. Как в виджете получить данные о цветах?
Заранее благодарен за ответ.
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
- molni99
- 26 жовтня 2024 р. 08:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4
- molni99
- 26 жовтня 2024 р. 08:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20бали,
- Рейтинг балів-10
Добрый день.
Что это?
Здравствуйте!
Я бы хотел в виджете использовать некоторые свои свойства для его элементов.
Задаю в коде виджета так:
В qss файле:
А в выводе пишет: "Unknown property sig1_color"
Что я делаю не так?
Нужен код, который имеет шансы скомпилироватсья и запуститься.
Сейчас не понятно ничего.
или взять код отсюда пример
переписать его под свои нужды
Вот спасибо большое! Это то, что было нужно. Я сделал почти все так, но следовало в qss файле написать:
Еще раз большое спасибо за пример!
wellcome)