каскадные таблицы стилей и собственный виджет |
Здравствуйте, гость ( Вход | Регистрация )
каскадные таблицы стилей и собственный виджет |
fantom |
29.1.2009, 16:55
Сообщение
#1
|
Студент Группа: Участник Сообщений: 47 Регистрация: 29.1.2009 Пользователь №: 515 Спасибо сказали: 1 раз(а) Репутация: 1 |
Делаю свой элемент который интегрируется в qt дизайнер. У этого элемента есть свойство перечисляемого типа. Каждое значение этого свойства идентифицирует уникальное цветовое отображение для этого виджета. При чем для разных экземпляров этого элемента в соответствии значнию свойства могут быть разные цветовые оттенки.
Для этих целей целесобразно применить Qt Style Sheet. То есть в значении свойства styleSheet для каждого элемента задавать определенные псевдосостояния и по ним выставлять цветовой оттенок. Например что то вроде этого:
Только в документации про работу с css разметкой для отображения своего виджета я толком ничего не нашел. И еще не очень ясно могу ли я вообще реализовывать свои псевдо-состояния? Основная проблема как раз с ними. Что вообще такое псевдо состояние на языке c++/qt? Как их идентифицировать и переопределять в коде? А так же как их привязать к свойствам или сигналам объекта? |
|
|
fantom |
29.1.2009, 17:54
Сообщение
#2
|
Студент Группа: Участник Сообщений: 47 Регистрация: 29.1.2009 Пользователь №: 515 Спасибо сказали: 1 раз(а) Репутация: 1 |
Цитата Не понял, что это такое? Selectors may contain pseudo-states that denote that restrict the application of the rule based on the widget's state. Pseudo-states appear at the end of the selector, with a colon ( : ) in between. For example, the following rule applies when the mouse hovers over a QPushButton: QPushButton:hover { color: white } Да этот документ я смотрел. Но там информация по оформлению готовых виджетов встроенных в QT. Там вообщем все ясно (хотя не исключаю что мог что пропустить). Мне же необходимо сделать свой элемент который будет использовать оформление прописанное в свойстве styleSheet. Например для объекта QToolButton можно в styleSheet прописать так:
В итоге когда кнопка нажата она использует одно отображение, когда нажата другое. Я же хочу сделать свой элемент который умел бы почти то же самое, только бы использовал мои псевдостояния. Хотя на крайняк можно было и обрабатывать имеющиеся. |
|
|
Текстовая версия | Сейчас: 8.1.2025, 17:50 |