Qt:Документация 4.3.2/stylesheet

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск
40px Внимание: Актуальная версия перевода документации находится здесь

__NOTOC__

Image:qt-logo.png

Главная · Все классы · Основные классы · Классы по группам · Модули · Функции

Image:trolltech-logo.png

[Далее: Синтаксис таблиц стилей ]

[править] Таблицы стилей Qt

Таблицы стилей Qt мощный механизм, который позволяет настраивать вид виджетов, в дополнение к тому, что уже является возможным с помощью QStyle. Концепция, терминология и синтаксис таблиц стилей Qt сделаны по аналогии с HTML Cascading Style Sheets (CSS), но адаптированы к миру виджетов.

Темы:


[править] Краткий обзор

Текстовые спецификации таблицы стилей , могут быть установлены в приложении с помощью QApplication::setStyleSheet () или на определенном виджете (и на его дочерних) при помощи QWidget::setStyleSheet (). Если установлено несколько таблиц стилей на различных уровнях, Qt создает таблицу стилей из всех, которые установлены.

Например, следующая таблица стилей определяет, что все QLineEdit должны использовать желтый цвет как второстепенный, а все QCheckBox должны использовать красный как цвет текста:

 QLineEdit { background: yellow }
 QCheckBox { color: red }

Для этого вида настройки, таблицы стилей намного мощнее чем QPalette. Например, можно было бы установить QPalette::Button роль для QPushButton для получения красной кнопки. Однако, это будет работать не для всех стилей потому, что авторы стилей ограничены принципами работы различных платформ и (на Windows XP и Mac OS X) их темами.

Таблицы стилей позволяют выполнять все виды настроек, которые трудно или невозможно выполнить используя QPalette. Если Вы хотите желтый фон для обязательных полей, красный текст для потенциально опасных кнопок, или необычный чекбокс, таблицы стилей помогут вам.

Таблицы стилей накладываются поверх стилей виджета, а это значит, что ваши приложения будут выглядеть натурально для их платформ, но любые ограничения таблицы стилей будут учтены. В отличии от бесполезного QPalette, таблицы стилей гарантируют: Если для QPushButton установлен красный цвет фона, можете быть уверены, что кнопка будет иметь красный фон во всех стилях, на всех платформах. Qt Designer обеспечивает интеграцию таблицы стилей, облегчая просмотр их эффектов в различных стилях виджета.

Кроме того, таблицы стилей могут быть использованы для обеспечения характерного вида вашего приложения, без использования QStyle. Например, вы можете определить произвольные изображения для радио-кнопок и чекбоксов, чтобы заставить их выделиться. Используя эту технику, вы можете достигнуть легкости настройки того, для чего обычно требовался subclassing нескольких классов стиля, таких как определения подсказок стиля. Пример таблицы стилей изображенный ниже определяет две различные таблицы стилей, которые вы можете опробовать и изменить по желанию.


center center

Когда таблица стилей активна, вызов QWidget::style() вернет QStyle, который является оберткой (wrapper) стиля "таблицы стилей", платформо независимый стиль. Обернутый стиль гарантирует, что любая актиная таблица стилей учитывается, а иначе бы операции рисования накладывались поверх нее, платформо зависимый стиль (например, QWindowsXPStyle).

Внимание: Таблицы стилей Qt пока не поддерживаются для QMacStyle (стиль по умолчанию для Mac OS X) и настройку QStyle подклассов. Мы планируем вернуться к этому в одном из следующих выпусков.

[Далее: Синтаксис таблиц стилей ]


Copyright © 2007 Trolltech Trademarks
Qt 4.3.2