Редактирование: 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: | + | |
=Таблицы стилей 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)], но адаптированы к миру виджетов. | |
- | Таблицы стилей Qt мощный механизм, который позволяет настраивать вид виджетов, в дополнение к тому, что уже является возможным с помощью [[Qt: | + | |
Темы: | Темы: | ||
- | |||
*[[#overview | Краткий обзор]] | *[[#overview | Краткий обзор]] | ||
**[[#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: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/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: | + | |
<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 | таблицы стилей]] изображенный ниже определяет две различные таблицы стилей, которые вы можете опробовать и изменить по желанию. |
{| 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: | + | Когда таблица стилей активна, вызов [[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]] |