Qt:Документация 4.3.2/stylesheet
Материал из Wiki.crossplatform.ru
Root (Обсуждение | вклад) (Новая: {{Qt4.3.2_header}} [Далее: Синтаксис таблиц стилей] =Таблицы стилей Qt<br />= Таблицы стилей Qt мо...) |
Root (Обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
{{Qt4.3.2_header}} | {{Qt4.3.2_header}} | ||
- | [Далее: [[Qt: | + | [Далее: [[Qt:Документация_4.3.2/stylesheet-syntax | Синтаксис таблиц стилей]]] |
=Таблицы стилей Qt<br />= | =Таблицы стилей Qt<br />= | ||
- | Таблицы стилей Qt мощный механизм, который позволяет настраивать вид виджетов, в дополнение к тому, что уже является возможным с помощью [[Qt: | + | Таблицы стилей Qt мощный механизм, который позволяет настраивать вид виджетов, в дополнение к тому, что уже является возможным с помощью [[Qt:Документация_4.3.2/qstyle | QStyle]]. Концепция, терминология и синтаксис таблиц стилей Qt сделаны по аналогии с HTML [http://www.w3.org/Style/CSS/" target="_blank Cascading Style Sheets (CSS)], но адаптированы к миру виджетов. |
Темы: | Темы: | ||
Строка 9: | Строка 9: | ||
**[[#overview | Краткий обзор]] | **[[#overview | Краткий обзор]] | ||
- | *[[Qt: | + | *[[Qt:Документация_4.3.2/stylesheet-syntax | Синтаксис таблицы стилей]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-syntax#style-rules | Правила стилей]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-syntax#selector-types | Селектор типов]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-syntax#sub-controls | Sub-Controls]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-syntax#pseudo-states | Псевдосостояния]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-syntax#conflict-resolution | Решения конфликтов]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-syntax#cascading | Cascading]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-syntax#inheritance | Наследование]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-syntax#widgets-inside-c-namespaces | Виджеты внутри C++ пространств имен]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-syntax#setting-qobject-properties | Настройка свойств QObject]] |
- | *[[Qt: | + | *[[Qt:Документация_4.3.2/stylesheet-designer | Интеграция Qt Designer]] |
- | *[[Qt: | + | *[[Qt:Документация_4.3.2/stylesheet-customizing | Настройка Qt виджетов используя таблицы стилей]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-customizing#the-box-model | Модель 'коробки'(The Box Model)]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-customizing#sub-controls | Sub-controls]] |
- | *[[Qt: | + | *[[Qt:Документация_4.3.2/stylesheet-reference | Qt Style Sheets Reference]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-reference#list-of-stylable-widgets | Список стилизованных виджетов]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-reference#list-of-properties | Список свойств]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-reference#list-of-property-types | Список типов свойств]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-reference#list-of-pseudo-states | Список псевдосостояний]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-reference#list-of-sub-controls | Список Sub-Controls]] |
- | *[[Qt: | + | *[[Qt:Документация_4.3.2/stylesheet-examples | Примеры таблиц стилей Qt]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-examples#style-sheet-usage | Использование таблиц стилей]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-the-foreground-and-background-colors | Настройка Foreground и Background цветов]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-a-qpushbutton-using-the-box-model | Настройка QPushButton используя модель 'коробки'(Box Model)]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-the-qpushbutton-s-menu-indicator-sub-control | Настройка меню QPushButton'ов]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#complex-selector-example | Complex Selector Example]] |
- | **[[Qt: | + | **[[Qt:Документация_4.3.2/stylesheet-examples#customizing-specific-widgets | Настройка особых виджетов]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qabstractscrollarea | Настройка QAbstractScrollArea]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qcheckbox | Настройка QCheckBox]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qcombobox | Настройка QComboBox]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qspinbox | Настройка QSpinBox]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qframe | Настройка QFrame]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qgroupbox | Настройка QGroupBox]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qheaderview | Настройка QHeaderView]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qlineedit | Настройка QLineEdit]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qmenu | Настройка QMenu]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qmenubar | Настройка QMenuBar]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qprogressbar | Настройка QProgressBar]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qpushbutton | Настройка QPushButton]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qradiobutton | Настройка QRadioButton]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qscrollbar | Настройка QScrollBar]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qsizegrip | Настройка QSizeGrip]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qslider | Настройка QSlider]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qsplitter | Настройка QSplitter]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qstatusbar | Настройка QStatusBar]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtabwidget-and-qtabbar | Настройка QTabWidget and QTabBar]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtablewidget | Настройка QTableWidget]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtoolbar | Настройка QToolBar]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtoolbox | Настройка QToolBox]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtoolbutton | Настройка QToolButton]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtooltip | Настройка QToolTip]] |
- | ***[[Qt: | + | ***[[Qt:Документация_4.3.2/stylesheet-examples#customizing-qtreeview | Настройка QTreeView]] |
===Краткий обзор=== | ===Краткий обзор=== | ||
- | Текстовые спецификации таблицы стилей , могут быть установлены в приложении с помощью [[Qt: | + | Текстовые спецификации таблицы стилей , могут быть установлены в приложении с помощью [[Qt:Документация_4.3.2/qapplication#styleSheet-prop | QApplication::setStyleSheet]] () или на определенном виджете (и на его дочерних) при помощи [[Qt:Документация_4.3.2/qwidget#styleSheet-prop | QWidget::setStyleSheet]] (). Если установлено несколько таблиц стилей на различных уровнях, Qt создает таблицу стилей из всех, которые установлены. |
- | Например, следующая таблица стилей определяет, что все [[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: | + | Для этого вида настройки, таблицы стилей намного мощнее чем [[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: | + | Таблицы стилей позволяют выполнять все виды настроек, которые трудно или невозможно выполнить используя [[Qt:Документация_4.3.2/qpalette | QPalette]]. Если Вы хотите желтый фон для обязательных полей, красный текст для потенциально опасных кнопок, или необычный чекбокс, таблицы стилей помогут вам. |
- | Таблицы стилей накладываются поверх [[Qt: | + | Таблицы стилей накладываются поверх [[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: | + | Кроме того, таблицы стилей могут быть использованы для обеспечения характерного вида вашего приложения, без использования [[Qt:Документация_4.3.2/qstyle | QStyle]]. Например, вы можете определить произвольные изображения для радио-кнопок и чекбоксов, чтобы заставить их выделиться. Используя эту технику, вы можете достигнуть легкости настройки того, для чего обычно требовался subclassing нескольких классов стиля, таких как определения [[Qt:Документация_4.3.2/qstyle#styleHint | подсказок стиля]]. Пример [[Qt:Документация_4.3.2/widgets-stylesheet | таблицы стилей]] изображенный ниже определяет две различные таблицы стилей, которые вы можете опробовать и изменить по желанию. |
Строка 89: | Строка 89: | ||
|} | |} | ||
- | Когда таблица стилей активна, вызов [[Qt: | + | Когда таблица стилей активна, вызов [[Qt:Документация_4.3.2/qwidget#style | QWidget::style]]() вернет [[Qt:Документация_4.3.2/qstyle | QStyle]], который является оберткой (wrapper) стиля "таблицы стилей", платформо независимый стиль. Обернутый стиль гарантирует, что любая актиная таблица стилей учитывается, а иначе бы операции рисования накладывались поверх нее, платформо зависимый стиль (например, [[Qt:Документация_4.3.2/qwindowsxpstyle | QWindowsXPStyle]]). |
- | '''Внимание:''' Таблицы стилей Qt пока не поддерживаются для [[Qt: | + | '''Внимание:''' Таблицы стилей Qt пока не поддерживаются для [[Qt:Документация_4.3.2/qmacstyle | QMacStyle]] (стиль по умолчанию для Mac OS X) и настройку [[Qt:Документация_4.3.2/qstyle | QStyle]] подклассов. Мы планируем вернуться к этому в одном из следующих выпусков. |
- | [Далее: [[Qt: | + | [Далее: [[Qt:Документация_4.3.2/stylesheet-syntax | Синтаксис таблиц стилей]]] |
{{Qt4.3.2_footer}} | {{Qt4.3.2_footer}} | ||
[[Категория:Qt]] | [[Категория:Qt]] |
Версия 06:59, 30 октября 2008
![]() | Внимание: Актуальная версия перевода документации находится здесь |
__NOTOC__
Главная · Все классы · Основные классы · Классы по группам · Модули · Функции |
[Далее: Синтаксис таблиц стилей]
Таблицы стилей Qt
Таблицы стилей Qt мощный механизм, который позволяет настраивать вид виджетов, в дополнение к тому, что уже является возможным с помощью QStyle. Концепция, терминология и синтаксис таблиц стилей Qt сделаны по аналогии с HTML " target="_blank Cascading Style Sheets (CSS), но адаптированы к миру виджетов.
Темы:
- Настройка особых виджетов
- Настройка QAbstractScrollArea
- Настройка QCheckBox
- Настройка QComboBox
- Настройка QSpinBox
- Настройка QFrame
- Настройка QGroupBox
- Настройка QHeaderView
- Настройка QLineEdit
- Настройка QMenu
- Настройка QMenuBar
- Настройка QProgressBar
- Настройка QPushButton
- Настройка QRadioButton
- Настройка QScrollBar
- Настройка QSizeGrip
- Настройка QSlider
- Настройка QSplitter
- Настройка QStatusBar
- Настройка QTabWidget and QTabBar
- Настройка QTableWidget
- Настройка QToolBar
- Настройка QToolBox
- Настройка QToolButton
- Настройка QToolTip
- Настройка QTreeView
- Настройка особых виджетов
Краткий обзор
Текстовые спецификации таблицы стилей , могут быть установлены в приложении с помощью 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 нескольких классов стиля, таких как определения подсказок стиля. Пример таблицы стилей изображенный ниже определяет две различные таблицы стилей, которые вы можете опробовать и изменить по желанию.
![]() | ![]() |
Когда таблица стилей активна, вызов QWidget::style() вернет QStyle, который является оберткой (wrapper) стиля "таблицы стилей", платформо независимый стиль. Обернутый стиль гарантирует, что любая актиная таблица стилей учитывается, а иначе бы операции рисования накладывались поверх нее, платформо зависимый стиль (например, QWindowsXPStyle).
Внимание: Таблицы стилей Qt пока не поддерживаются для QMacStyle (стиль по умолчанию для Mac OS X) и настройку QStyle подклассов. Мы планируем вернуться к этому в одном из следующих выпусков.
[Далее: Синтаксис таблиц стилей]
Copyright © 2007 Trolltech | Trademarks | Qt 4.3.2
|