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

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

(Различия между версиями)
Перейти к: навигация, поиск
м Qt:4.3.2/stylesheet» переименована в «Qt:Документация 4.3.2/stylesheet»)
 
Строка 1: Строка 1:
{{Qt4.3.2_header}}
{{Qt4.3.2_header}}
-
[Далее: [[Qt:Документация_4.3.2/stylesheet-syntax | Синтаксис таблиц стилей]]]
+
 
 +
[Далее: [[Qt:Документация 4.3.2/stylesheet-syntax | Синтаксис таблиц стилей]] ]  
=Таблицы стилей Qt<br />=
=Таблицы стилей Qt<br />=
-
Таблицы стилей Qt мощный механизм, который позволяет настраивать вид виджетов, в дополнение к тому, что уже является возможным с помощью [[Qt:Документация_4.3.2/qstyle | QStyle]]. Концепция, терминология и синтаксис таблиц стилей Qt сделаны по аналогии с HTML [http://www.w3.org/Style/CSS/" target="_blank Cascading Style Sheets (CSS)], но адаптированы к миру виджетов.
+
<div id="style-sheet"></div><div id="stylesheet"></div>
 +
Таблицы стилей Qt мощный механизм, который позволяет настраивать вид виджетов, в дополнение к тому, что уже является возможным с помощью [[Qt:Документация 4.3.2/qstyle | QStyle]]. Концепция, терминология и синтаксис таблиц стилей Qt сделаны по аналогии с HTML [http://www.w3.org/Style/CSS/ Cascading Style Sheets (CSS)], но адаптированы к миру виджетов.
Темы:
Темы:
 +
*[[#overview | Краткий обзор]]  
*[[#overview | Краткий обзор]]  
**[[#overview | Краткий обзор]]
**[[#overview | Краткий обзор]]
-
*[[Qt:Документация_4.3.2/stylesheet-syntax | Синтаксис таблицы стилей]]  
+
*[[Qt:Документация 4.3.2/stylesheet-syntax | Синтаксис таблицы стилей]]  
-
**[[Qt:Документация_4.3.2/stylesheet-syntax#style-rules | Правила стилей]]
+
**[[Qt:Документация 4.3.2/stylesheet-syntax#style-rules | Правила стилей]]
-
**[[Qt:Документация_4.3.2/stylesheet-syntax#selector-types | Селектор типов]]
+
**[[Qt:Документация 4.3.2/stylesheet-syntax#selector-types | Селектор типов]]
-
**[[Qt:Документация_4.3.2/stylesheet-syntax#sub-controls | Sub-Controls]]
+
**[[Qt:Документация 4.3.2/stylesheet-syntax#sub-controls | Sub-Controls]]
-
**[[Qt:Документация_4.3.2/stylesheet-syntax#pseudo-states | Псевдосостояния]]
+
**[[Qt:Документация 4.3.2/stylesheet-syntax#pseudo-states | Псевдосостояния]]
-
**[[Qt:Документация_4.3.2/stylesheet-syntax#conflict-resolution | Решения конфликтов]]
+
**[[Qt:Документация 4.3.2/stylesheet-syntax#conflict-resolution | Решения конфликтов]]
-
**[[Qt:Документация_4.3.2/stylesheet-syntax#cascading | Cascading]]
+
**[[Qt:Документация 4.3.2/stylesheet-syntax#cascading | Cascading]]
-
**[[Qt:Документация_4.3.2/stylesheet-syntax#inheritance | Наследование]]
+
**[[Qt:Документация 4.3.2/stylesheet-syntax#inheritance | Наследование]]
-
**[[Qt:Документация_4.3.2/stylesheet-syntax#widgets-inside-c-namespaces | Виджеты внутри C++ пространств имен]]
+
**[[Qt:Документация 4.3.2/stylesheet-syntax#widgets-inside-c-namespaces | Виджеты внутри C++ пространств имен]]
-
**[[Qt:Документация_4.3.2/stylesheet-syntax#setting-qobject-properties | Настройка свойств QObject]]
+
**[[Qt:Документация 4.3.2/stylesheet-syntax#setting-qobject-properties | Настройка свойств QObject]]
-
*[[Qt:Документация_4.3.2/stylesheet-designer | Интеграция Qt Designer]]  
+
*[[Qt:Документация 4.3.2/stylesheet-designer | Интеграция Qt Designer]]  
-
*[[Qt:Документация_4.3.2/stylesheet-customizing | Настройка Qt виджетов используя таблицы стилей]]
+
*[[Qt:Документация 4.3.2/stylesheet-customizing | Настройка Qt виджетов используя таблицы стилей]]
-
**[[Qt:Документация_4.3.2/stylesheet-customizing#the-box-model | Модель 'коробки'(The Box Model)]]
+
**[[Qt:Документация 4.3.2/stylesheet-customizing#the-box-model | Модель 'коробки'(The Box Model)]]
-
**[[Qt:Документация_4.3.2/stylesheet-customizing#sub-controls | Sub-controls]]
+
**[[Qt:Документация 4.3.2/stylesheet-customizing#sub-controls | Sub-controls]]
-
*[[Qt:Документация_4.3.2/stylesheet-reference | Qt Style Sheets Reference]]
+
*[[Qt:Документация 4.3.2/stylesheet-reference | Qt Style Sheets Reference]]
-
**[[Qt:Документация_4.3.2/stylesheet-reference#list-of-stylable-widgets | Список стилизованных виджетов]]
+
**[[Qt:Документация 4.3.2/stylesheet-reference#list-of-stylable-widgets | Список стилизованных виджетов]]
-
**[[Qt:Документация_4.3.2/stylesheet-reference#list-of-properties | Список свойств]]
+
**[[Qt:Документация 4.3.2/stylesheet-reference#list-of-properties | Список свойств]]
-
**[[Qt:Документация_4.3.2/stylesheet-reference#list-of-property-types | Список типов свойств]]
+
**[[Qt:Документация 4.3.2/stylesheet-reference#list-of-property-types | Список типов свойств]]
-
**[[Qt:Документация_4.3.2/stylesheet-reference#list-of-pseudo-states | Список псевдосостояний]]
+
**[[Qt:Документация 4.3.2/stylesheet-reference#list-of-pseudo-states | Список псевдосостояний]]
-
**[[Qt:Документация_4.3.2/stylesheet-reference#list-of-sub-controls | Список Sub-Controls]]
+
**[[Qt:Документация 4.3.2/stylesheet-reference#list-of-sub-controls | Список Sub-Controls]]
-
*[[Qt:Документация_4.3.2/stylesheet-examples | Примеры таблиц стилей Qt]]  
+
*[[Qt:Документация 4.3.2/stylesheet-examples | Примеры таблиц стилей Qt]]  
-
**[[Qt:Документация_4.3.2/stylesheet-examples#style-sheet-usage | Использование таблиц стилей]]
+
**[[Qt:Документация 4.3.2/stylesheet-examples#style-sheet-usage | Использование таблиц стилей]]
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-the-foreground-and-background-colors | Настройка Foreground и Background цветов]]
+
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-the-foreground-and-background-colors | Настройка Foreground и Background цветов]]
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-a-qpushbutton-using-the-box-model | Настройка QPushButton используя модель 'коробки'(Box Model)]]
+
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-a-qpushbutton-using-the-box-model | Настройка QPushButton используя модель 'коробки'(Box Model)]]
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-the-qpushbutton-s-menu-indicator-sub-control | Настройка меню QPushButton'ов]]
+
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-the-qpushbutton-s-menu-indicator-sub-control | Настройка меню QPushButton'ов]]
-
***[[Qt:Документация_4.3.2/stylesheet-examples#complex-selector-example | Complex Selector Example]]
+
***[[Qt:Документация 4.3.2/stylesheet-examples#complex-selector-example | Complex Selector Example]]
-
 
+
-
**[[Qt:Документация_4.3.2/stylesheet-examples#customizing-specific-widgets | Настройка особых виджетов]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qabstractscrollarea | Настройка QAbstractScrollArea]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qcheckbox | Настройка QCheckBox]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qcombobox | Настройка QComboBox]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qspinbox | Настройка QSpinBox]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qframe | Настройка QFrame]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qgroupbox | Настройка QGroupBox]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qheaderview | Настройка QHeaderView]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qlineedit | Настройка QLineEdit]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qmenu | Настройка QMenu]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qmenubar | Настройка QMenuBar]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qprogressbar | Настройка QProgressBar]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qpushbutton | Настройка QPushButton]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qradiobutton | Настройка QRadioButton]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qscrollbar | Настройка QScrollBar]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qsizegrip | Настройка QSizeGrip]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qslider | Настройка QSlider]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qsplitter | Настройка QSplitter]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qstatusbar | Настройка QStatusBar]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtabwidget-and-qtabbar | Настройка QTabWidget and QTabBar]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtablewidget | Настройка QTableWidget]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtoolbar | Настройка QToolBar]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtoolbox | Настройка QToolBox]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtoolbutton | Настройка QToolButton]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtooltip | Настройка QToolTip]]
+
-
***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtreeview | Настройка QTreeView]]
+
 +
**[[Qt:Документация 4.3.2/stylesheet-examples#customizing-specific-widgets | Настройка особых виджетов]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qabstractscrollarea | Настройка QAbstractScrollArea]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qcheckbox | Настройка QCheckBox]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qcombobox | Настройка QComboBox]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qspinbox | Настройка QSpinBox]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qframe | Настройка QFrame]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qgroupbox | Настройка QGroupBox]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qheaderview | Настройка QHeaderView]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qlineedit | Настройка QLineEdit]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qmenu | Настройка QMenu]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qmenubar | Настройка QMenuBar]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qprogressbar | Настройка QProgressBar]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qpushbutton | Настройка QPushButton]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qradiobutton | Настройка QRadioButton]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qscrollbar | Настройка QScrollBar]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qsizegrip | Настройка QSizeGrip]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qslider | Настройка QSlider]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qsplitter | Настройка QSplitter]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qstatusbar | Настройка QStatusBar]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qtabwidget-and-qtabbar | Настройка QTabWidget and QTabBar]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qtablewidget | Настройка QTableWidget]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qtoolbar | Настройка QToolBar]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qtoolbox | Настройка QToolBox]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qtoolbutton | Настройка QToolButton]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qtooltip | Настройка QToolTip]]
 +
***[[Qt:Документация 4.3.2/stylesheet-examples#customizing-qtreeview | Настройка QTreeView]]
 +
<div id="overview"></div><div id="overview"></div>
===Краткий обзор===
===Краткий обзор===
-
Текстовые спецификации таблицы стилей , могут быть установлены в приложении с помощью [[Qt:Документация_4.3.2/qapplication#styleSheet-prop | QApplication::setStyleSheet]] () или на определенном виджете (и на его дочерних) при помощи [[Qt:Документация_4.3.2/qwidget#styleSheet-prop | QWidget::setStyleSheet]] (). Если установлено несколько таблиц стилей на различных уровнях, Qt создает таблицу стилей из всех, которые установлены.
 
-
Например, следующая таблица стилей определяет, что все [[Qt:Документация_4.3.2/qlineedit | QLineEdit]] должны использовать желтый цвет как второстепенный, а все [[Qt:Документация_4.3.2/qcheckbox | QCheckBox ]] должны использовать красный как цвет текста:
+
Текстовые спецификации таблицы стилей , могут быть установлены в приложении с помощью [[Qt:Документация 4.3.2/qapplication#styleSheet-prop | QApplication::setStyleSheet]] () или на определенном виджете (и на его дочерних) при помощи [[Qt:Документация 4.3.2/qwidget#styleSheet-prop | QWidget::setStyleSheet]] (). Если установлено несколько таблиц стилей на различных уровнях, Qt создает таблицу стилей из всех, которые установлены.
 +
 
 +
Например, следующая таблица стилей определяет, что все [[Qt:Документация 4.3.2/qlineedit | QLineEdit]] должны использовать желтый цвет как второстепенный, а все [[Qt:Документация 4.3.2/qcheckbox | QCheckBox ]] должны использовать красный как цвет текста:
<source lang="cpp-qt"> QLineEdit { background: yellow }
<source lang="cpp-qt"> QLineEdit { background: yellow }
  QCheckBox { color: red }</source>  
  QCheckBox { color: red }</source>  
-
Для этого вида настройки, таблицы стилей намного мощнее чем [[Qt:Документация_4.3.2/qpalette | QPalette]]. Например, можно было бы установить [[Qt:Документация_4.3.2/qpalette#ColorRole-enum | QPalette::Button]] роль для [[Qt:Документация_4.3.2/qpushbutton | QPushButton]] для получения красной кнопки. Однако, это будет работать не для всех стилей потому, что авторы стилей ограничены принципами работы различных платформ и (на Windows XP и Mac OS X) их темами.
+
Для этого вида настройки, таблицы стилей намного мощнее чем [[Qt:Документация 4.3.2/qpalette | QPalette]]. Например, можно было бы установить [[Qt:Документация 4.3.2/qpalette#ColorRole-enum | QPalette::Button]] роль для [[Qt:Документация 4.3.2/qpushbutton | QPushButton]] для получения красной кнопки. Однако, это будет работать не для всех стилей потому, что авторы стилей ограничены принципами работы различных платформ и (на Windows XP и Mac OS X) их темами.
-
Таблицы стилей позволяют выполнять все виды настроек, которые трудно или невозможно выполнить используя [[Qt:Документация_4.3.2/qpalette | QPalette]]. Если Вы хотите желтый фон для обязательных полей, красный текст для потенциально опасных кнопок, или необычный чекбокс, таблицы стилей помогут вам.
+
Таблицы стилей позволяют выполнять все виды настроек, которые трудно или невозможно выполнить используя [[Qt:Документация 4.3.2/qpalette | QPalette]]. Если Вы хотите желтый фон для обязательных полей, красный текст для потенциально опасных кнопок, или необычный чекбокс, таблицы стилей помогут вам.
-
Таблицы стилей накладываются поверх [[Qt:Документация_4.3.2/qstyle | стилей виджета]], а это значит, что ваши приложения будут выглядеть натурально для их платформ, но любые ограничения таблицы стилей будут учтены. В отличии от бесполезного QPalette, таблицы стилей гарантируют: Если для [[Qt:Документация_4.3.2/qpushbutton | QPushButton]] установлен красный цвет фона, можете быть уверены, что кнопка будет иметь красный фон во всех стилях, на всех платформах. [[Qt:Документация_4.3.2/designer-manual#qt-designer | Qt Designer]] обеспечивает интеграцию таблицы стилей, облегчая просмотр их эффектов в различных [[Qt:Документация_4.3.2/qstyle |  стилях виджета]].
+
Таблицы стилей накладываются поверх [[Qt:Документация 4.3.2/qstyle | стилей виджета]], а это значит, что ваши приложения будут выглядеть натурально для их платформ, но любые ограничения таблицы стилей будут учтены. В отличии от бесполезного QPalette, таблицы стилей гарантируют: Если для [[Qt:Документация 4.3.2/qpushbutton | QPushButton]] установлен красный цвет фона, можете быть уверены, что кнопка будет иметь красный фон во всех стилях, на всех платформах. [[Qt:Документация 4.3.2/designer-manual#qt-designer | Qt Designer]] обеспечивает интеграцию таблицы стилей, облегчая просмотр их эффектов в различных [[Qt:Документация 4.3.2/qstyle |  стилях виджета]].
-
Кроме того, таблицы стилей могут быть использованы для обеспечения характерного вида вашего приложения, без использования  [[Qt:Документация_4.3.2/qstyle | QStyle]]. Например, вы можете определить произвольные изображения для радио-кнопок и чекбоксов, чтобы заставить их выделиться. Используя эту технику, вы можете достигнуть легкости настройки того, для чего обычно требовался subclassing  нескольких классов стиля, таких как определения [[Qt:Документация_4.3.2/qstyle#styleHint | подсказок стиля]]. Пример [[Qt:Документация_4.3.2/widgets-stylesheet | таблицы стилей]] изображенный ниже определяет две различные таблицы стилей, которые вы можете опробовать и изменить по желанию.
+
Кроме того, таблицы стилей могут быть использованы для обеспечения характерного вида вашего приложения, без использования  [[Qt:Документация 4.3.2/qstyle | QStyle]]. Например, вы можете определить произвольные изображения для радио-кнопок и чекбоксов, чтобы заставить их выделиться. Используя эту технику, вы можете достигнуть легкости настройки того, для чего обычно требовался subclassing  нескольких классов стиля, таких как определения [[Qt:Документация 4.3.2/qstyle#styleHint | подсказок стиля]]. Пример [[Qt:Документация 4.3.2/widgets-stylesheet | таблицы стилей]] изображенный ниже определяет две различные таблицы стилей, которые вы можете опробовать и изменить по желанию.
{|  align="center" cellpadding="2" cellspacing="1" border="0"
{|  align="center" cellpadding="2" cellspacing="1" border="0"
-
|- valign="top" class="odd"
+
|- valign="top" class="odd" |
|[[Image:stylesheet-coffee-xp.png|center]]
|[[Image:stylesheet-coffee-xp.png|center]]
|[[Image:stylesheet-pagefold.png|center]]
|[[Image:stylesheet-pagefold.png|center]]
|}
|}
-
Когда таблица стилей активна, вызов [[Qt:Документация_4.3.2/qwidget#style | QWidget::style]]() вернет [[Qt:Документация_4.3.2/qstyle | QStyle]], который является оберткой (wrapper) стиля &quot;таблицы стилей&quot;, платформо независимый стиль. Обернутый стиль гарантирует, что  любая актиная таблица стилей учитывается, а иначе бы операции рисования накладывались поверх нее, платформо зависимый стиль (например, [[Qt:Документация_4.3.2/qwindowsxpstyle | QWindowsXPStyle]]).
+
Когда таблица стилей активна, вызов [[Qt:Документация 4.3.2/qwidget#style | QWidget::style]]() вернет [[Qt:Документация 4.3.2/qstyle | QStyle]], который является оберткой (wrapper) стиля "таблицы стилей", платформо независимый стиль. Обернутый стиль гарантирует, что  любая актиная таблица стилей учитывается, а иначе бы операции рисования накладывались поверх нее, платформо зависимый стиль (например, [[Qt:Документация 4.3.2/qwindowsxpstyle | QWindowsXPStyle]]).
-
'''Внимание:''' Таблицы стилей Qt пока не поддерживаются для [[Qt:Документация_4.3.2/qmacstyle | QMacStyle]] (стиль по умолчанию для Mac OS X) и настройку [[Qt:Документация_4.3.2/qstyle | QStyle]] подклассов. Мы планируем вернуться к этому в одном из следующих выпусков.
+
'''Внимание:''' Таблицы стилей Qt пока не поддерживаются для [[Qt:Документация 4.3.2/qmacstyle | QMacStyle]] (стиль по умолчанию для Mac OS X) и настройку [[Qt:Документация 4.3.2/qstyle | QStyle]] подклассов. Мы планируем вернуться к этому в одном из следующих выпусков.
-
[Далее: [[Qt:Документация_4.3.2/stylesheet-syntax | Синтаксис таблиц стилей]]]
+
[Далее: [[Qt:Документация 4.3.2/stylesheet-syntax | Синтаксис таблиц стилей]] ]  
{{Qt4.3.2_footer}}
{{Qt4.3.2_footer}}
-
[[Категория:Qt]]
 

Текущая версия на 10:46, 6 ноября 2008

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