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

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

Перейти к: навигация, поиск
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 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 />=
-
<div id="style-sheet"></div><div id="stylesheet"></div>
+
Таблицы стилей Qt мощный механизм, который позволяет настраивать вид виджетов, в дополнение к тому, что уже является возможным с помощью [[Qt:4.3.2/qstyle | QStyle]]. Концепция, терминология и синтаксис таблиц стилей Qt сделаны по аналогии с HTML [http://www.w3.org/Style/CSS/" target="_blank Cascading Style Sheets (CSS)], но адаптированы к миру виджетов.
-
Таблицы стилей 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/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/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) стиля "таблицы стилей", платформо независимый стиль. Обернутый стиль гарантирует, что  любая актиная таблица стилей учитывается, а иначе бы операции рисования накладывались поверх нее, платформо зависимый стиль (например, [[Qt:Документация 4.3.2/qwindowsxpstyle | QWindowsXPStyle]]).
+
Когда таблица стилей активна, вызов [[Qt:4.3.2/qwidget#style | QWidget::style]]() вернет [[Qt:4.3.2/qstyle | QStyle]], который является оберткой (wrapper) стиля &quot;таблицы стилей&quot;, платформо независимый стиль. Обернутый стиль гарантирует, что  любая актиная таблица стилей учитывается, а иначе бы операции рисования накладывались поверх нее, платформо зависимый стиль (например, [[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]]

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Wiki.crossplatform.ru:Авторское право). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!


Шаблоны, использованные на текущей версии страницы: