Шаг 259.
Библиотека Qt.
Управление состояниями

    На этом шаге рассмотрим управление состояниями элементов.

    Помимо подэлементов, можно указывать состояния (табл. 1). При этом определение применяется к виджету только в том случае, если он находится в определенном (указанном) состоянии. Например, следующее правило будет применяться в том случае, если указатель мыши будет находиться над кнопкой:

QPushButton:hover {color: red}

Таблица 1. Состояния
Обозначение
Описание
:checked
Активировано
:closed
Виджет находится в закрытом либо свернутом состоянии
:disabled
Виджет недоступен
:enabled
Виджет доступен
:focus
Виджет находится в фокусе ввода
:hover
Указатель мыши находится над виджетом
:indeterminate
Кнопка находится в промежуточном неопределенном состоянии
:off
Выключено (для виджетов, которые могут быть в фиксированном состоянии нажато/не нажато)
:on
Включено (для виджетов, которые могут быть в фиксированном состоянии нажато/не нажато)
:open
Виджет находится в открытом или развернутом состоянии
:pressed
Виджет был нажат мышью
:unchecked
Деактивировано

    Состояния можно объединять. Следующий пример говорит о том, что правило должно применяться тогда, когда указатель мыши располагается поверх виджета, находящегося в активированном состоянии:

QCheckBox:hover:checked {color: white}

    Если необходимо сделать так, чтобы правило срабатывало в тех случаях, когда виджет находится в одном из нескольких состояний, то можно поступить следующим образом:

QCheckBox:hover, QCheckBox:checked {color: white}

    Также можно применять правило, когда состояние не имеет места:

QCheckBox:!hover {color: white} 

    На следующем шаге рассмотрим пример реализации каскадного стиля элемента управления.




Предыдущий шаг Содержание Следующий шаг