Справочник по стилям Qt
Стилевые таблицы Qt поддерживают различные свойства, псевдосостояния и подэлементы, которые позволяют настраивать вид виджетов.
Список стилизуемых виджетов
В следующей таблице перечислены виджеты Qt, которые можно настраивать с помощью стилей:
| Виджет | Как стилизовать |
|---|---|
| QAbstractScrollArea | Поддерживает модель разметки. Все производные от QAbstractScrollArea, включая QTextEdit и QAbstractItemView (все классы представления элементов), поддерживают прокручиваемые фоны с помощью background-attachment. Установка background-attachment на Пример см. в Настройка QAbstractScrollArea. |
| QCheckBox | Поддерживает модель разметки. Индикатор выбора можно стилизовать, используя подэлемент ::indicator. По умолчанию индикатор размещается в левом верхнем углу прямоугольника содержимого виджета. Свойство spacing определяет интервал между индикатором выбора и текстом. Пример см. в Настройка QCheckBox. |
| QColumnView | Маркер можно стилизовать, используя свойство image. Стрелки можно стилизовать, используя подэлементы ::left-arrow и ::right-arrow. |
| QComboBox | Рамку вокруг QComboBox можно стилизовать с помощью модели разметки. Кнопку раскрывающегося списка можно стилизовать с помощью подэлемента ::drop-down. По умолчанию кнопка раскрывающегося списка размещается в правом верхнем углу прямоугольника отступа виджета. Знак стрелки внутри кнопки раскрывающегося списка можно стилизовать с помощью подэлемента ::down-arrow. По умолчанию стрелка размещается в центре прямоугольника содержимого подэлемента раскрывающегося списка. Пример см. в Настройка QComboBox. |
| QDateEdit | См. QSpinBox. |
| QDateTimeEdit | См. QSpinBox. |
| QDialog | Поддерживает только свойства background, background-clip и background-origin. Предупреждение: Убедитесь, что вы определили макрос Q_OBJECT для своего пользовательского виджета. |
| QDialogButtonBox | Макет кнопок можно изменить, используя свойство button-layout. |
| QDockWidget | Поддерживает стилизацию заголовка и кнопок заголовка при пристыкованном расположении. Границу виджета можно стилизовать с помощью свойства border. Подэлемент ::title можно использовать для настройки заголовка. Кнопки закрытия и перевода в плавающее окно позиционируются относительно подэлемента ::title с помощью ::close-button и ::float-button соответственно. Когда заголовок расположен вертикально, устанавливается псевдокласс :vertical. Кроме того, в зависимости от QDockWidget::DockWidgetFeature, устанавливаются псевдосостояния :closable, :floatable и :movable. Примечание: Для стилизации ручки изменения размера используйте QMainWindow::separator. Предупреждение: Стилевые таблицы не действуют, когда QDockWidget отстыкован, так как Qt использует собственные окна верхнего уровня при отстыковке. Пример см. в Настройка QDockWidget. |
| QDoubleSpinBox | См. QSpinBox. |
| QFrame | Поддерживает модель разметки. Начиная с версии 4.3, установка стилей на QLabel автоматически устанавливает свойство QFrame::frameStyle в значение QFrame::StyledPanel. Пример см. в Настройка QFrame. |
| QGroupBox | Поддерживает модель разметки. Заголовок можно стилизовать с помощью подэлемента ::title. По умолчанию заголовок размещается в зависимости от QGroupBox::textAlignment. В случае сортируемого QGroupBox, заголовок включает индикатор выбора. Индикатор стилизуется с помощью подэлемента ::indicator. Свойство spacing можно использовать для управления интервалом между текстом и индикатором. Пример см. в Настройка QGroupBox. |
| QHeaderView | Поддерживает модель разметки. Разделы виджета заголовка стилизуются с помощью подэлемента ::section. Подэлемент section поддерживает псевдосостояния :middle, :first, :last, :only-one, :next-selected, :previous-selected, :selected и :checked.Индикатор сортировки можно стилизовать с помощью подэлементов ::up-arrow и ::down-arrow. Пример см. в Настройка QHeaderView. |
| QLabel | Поддерживает модель разметки. Не поддерживает псевдосостояние :hover. Начиная с версии 4.3, установка стилей на QLabel автоматически устанавливает свойство QFrame::frameStyle в значение QFrame::StyledPanel. Пример см. в Настройка QFrame (QLabel наследуется от QFrame). |
| QLineEdit | Поддерживают модель разметки. Цвет и фон выделенного элемента стилизуются с помощью selection-color и selection-background-color соответственно. Символ пароля можно стилизовать с помощью свойства lineedit-password-character. Задержка маски пароля может быть изменена с помощью свойства lineedit-password-mask-delay. Пример см. в Настройка QLineEdit. |
| QListView | Поддерживает модель разметки. При включенных чередующихся цветах строк, чередующиеся цвета можно стилизовать с помощью свойства alternate-background-color. Цвет и фон выделенного элемента стилизуются с помощью selection-color и selection-background-color соответственно. Поведение выделения контролируется свойством show-decoration-selected. Используйте подэлемент ::item для более точной настройки элементов в QListView. См. QAbsractScrollArea для стилизации прокручиваемых фонов. Пример см. в Настраивание QListView. |
| QListWidget | См. QListView. |
| QMainWindow | Поддерживает стилизацию разделителя Разделитель в QMainWindow при использовании QDockWidget стилизуется с помощью подэлемента ::separator. Пример см. в Настройка QMainWindow. |
| QMenu | Поддерживает модель размещения элементов. Индивидуальные элементы стилизуются с помощью подэлемента ::item. Помимо обычно поддерживаемых псевдосостояний, подэлемент ::item поддерживает псевдосостояния :selected, :default, :exclusive и non-exclusive. Индикатор флажковых элементов меню стилизуется с помощью подэлемента ::indicator. Разделитель стилизуется с помощью подэлемента ::separator. Для элементов с подменю значки стрелок стилизуются с помощью правой стрелки и левой стрелки. Ползунок стилизуется с помощью ::scroller. Отрывной элемент стилизуется с помощью ::tearoff. См. Настройка QMenu для примера. |
| QMenuBar | Поддерживает модель размещения элементов. Свойство spacing задаёт интервал между элементами меню. Индивидуальные элементы стилизуются с помощью подэлемента ::item. Предупреждение: При работе с Qt/Mac, панель меню обычно встраивается в системную панель меню. В этом случае, стилизация не повлияет. См. Настройка QMenuBar для примера. |
| QMessageBox | Свойство messagebox-text-interaction-flags можно использовать для изменения взаимодействия с текстом в окне сообщения. |
| QProgressBar | Поддерживает модель размещения элементов. Части прогресс-бара могут быть стилизованы с помощью подэлемента ::chunk. Элемент отображается в области содержимого виджета. Если прогресс-бар отображает текст, используйте свойство text-align для позиционирования текста. В неопределённых прогресс-барах установлено псевдосостояние :indeterminate. См. Настройка QProgressBar для примера. |
| QPushButton | Поддерживает модель размещения элементов. Поддерживает псевдосостояния :default, :flat, :checked. Начиная с версии 5.15, свойство icon может быть установлено для переопределения значка кнопки. Для QPushButton с меню, индикатор меню стилизуется с помощью подэлемента ::menu-indicator. Внешний вид флажковых кнопок может быть настроен с помощью псевдосостояний :open и :closed. Предупреждение: Если вы установите только цвет фона для QPushButton, фон может не отобразиться, если вы не зададите значение свойства border. Это происходит потому, что по умолчанию QPushButton рисует системную границу, которая полностью перекрывает цвет фона. Например, QPushButton { background-color: red; border: none; } См. Настройка QPushButton для примера. |
| QRadioButton | Поддерживает модель размещения элементов. Индикатор выбора можно стилизовать с помощью подэлемента ::indicator. По умолчанию индикатор размещается в левом верхнем углу области содержимого виджета. Свойство spacing задаёт интервал между индикатором выбора и текстом. См. Настройка QRadioButton для примера. |
| QScrollBar | Поддерживает модель размещения элементов. Область содержимого виджета рассматривается как желоб, по которому перемещается ползунок. Размеры QScrollBar (ширина или высота в зависимости от ориентации) задаются свойствами width или height соответственно. Чтобы определить ориентацию, используйте псевдосостояния :horizontal и :vertical. Ползунок можно стилизовать с помощью подэлемента ::handle. Установка свойств min-width или min-height задаёт ограничения размера ползунка в зависимости от ориентации. Подэлемент ::add-line может быть использован для стилизации кнопки добавления строки. По умолчанию подэлемент размещён в правом верхнем углу области рамки виджета. В зависимости от ориентации, используется ::right-arrow или ::down-arrow. По умолчанию стрелки размещаются по центру области содержимого подэлемента. Подэлемент ::sub-line может быть использован для стилизации кнопки удаления строки. По умолчанию подэлемент размещён в правом нижнем углу области рамки виджета. В зависимости от ориентации, используется ::left-arrow или ::up-arrow. По умолчанию стрелки размещаются по центру области содержимого подэлемента. Подэлемент ::sub-page может быть использован для стилизации области ползунка, удаляющей страницу. Подэлемент ::add-page может быть использован для стилизации области ползунка, добавляющей страницу. См. Настройка QScrollBar для примера. |
| QSizeGrip | Поддерживает свойства width, height и image. См. Настройка QSizeGrip для примера. |
| QSlider | Поддерживает модель размещения элементов. Для горизонтальных ползунков необходимо задать свойства min-width и height. Для вертикальных ползунков необходимо задать свойства min-height и width. Желоб ползунка стилизуется с помощью ::groove. По умолчанию, желоб расположен в области содержимого виджета. Ползунок стилизуется с помощью подэлемента ::handle. Подэлемент перемещается в области содержимого подэлемента желоба. См. Настройка QSlider для примера. |
| QSpinBox | Рамку спин-бокса можно стилизовать с помощью модели размещения элементов. Кнопку и стрелку вверх можно стилизовать с помощью подэлементов ::up-button и ::up-arrow. По умолчанию, кнопка вверх расположена в правом верхнем углу области отступа виджета. Без явного размера, она занимает половину высоты своей области. Стрелка вверх расположена по центру области содержимого кнопки вверх. Кнопку и стрелку вниз можно стилизовать с помощью подэлементов ::down-button и ::down-arrow. По умолчанию, кнопка вниз расположена в правом нижнем углу области отступа виджета. Без явного размера, она занимает половину высоты своей области. Стрелка вниз расположена по центру области содержимого кнопки вниз. См. Настройка QSpinBox для примера. |
| QSplitter | Поддерживает модель размещения элементов. Ползунок разделителя стилизуется с помощью подэлемента ::handle. См. Настройка QSplitter для примера. |
| QStatusBar | Поддерживает только свойство background. Рамку для отдельных элементов можно стилизовать с помощью подэлемента ::item. См. Настройка QStatusBar для примера. |
| QTabBar | Индивидуальные вкладки могут быть стилизованы с помощью подконтроли ::tab. Кнопки закрытия с помощью ::close-button Вкладки поддерживают псевдосостояния :only-one, :first, :last, :middle, :previous--selected, :next-selected, :selected. Псевдосостояния :top, :left, :right, :bottom в зависимости от ориентации вкладок. Перекрывающиеся вкладки для выделенного состояния создаются с помощью отрицательных отступов или с использованием схемы позиционирования Индикатор разрыва QTabBar стилизуется с помощью подконтроли ::tear. QTabBar использует две QToolButton для своих полос прокрутки, которые можно стилизовать с помощью селектора Выравнивание вкладок внутри QTabBar стилизуется свойством alignment. Предупреждение: Для изменения положения QTabBar внутри QTabWidget используйте подконтроли tab-bar (и установите subcontrol-position). См. Настройка QTabBar для примера. |
| QTabWidget | Рамка виджета вкладок стилизуется с помощью подконтроли ::pane. Левый и правый углы стилизуются с помощью ::left-corner и ::right-corner соответственно. Положение панели вкладок контролируется с помощью подконтроли ::tab-bar. По умолчанию, подконтроли имеют позиции QTabWidget в QWindowsStyle. Чтобы поместить QTabBar по центру, установите subcontrol-position для подконтроли tab-bar. Псевдосостояния :top, :left, :right, :bottom в зависимости от ориентации вкладок. См. Настройка QTabWidget для примера. |
| QTableView | Поддерживает модель виджета. При включении альтернативных цветов строк, альтернативные цвета можно стилизовать с помощью свойства alternate-background-color. Цвет и фон выделенного элемента стилизуются с помощью selection-color и selection-background-color соответственно. Виджет угла в QTableView реализован как QAbstractButton и может быть стилизован с помощью селектора "QTableView QTableCornerButton::section". Предупреждение: Если вы установите только background-color на QTableCornerButton, фон может не отобразиться, если вы не установите свойство border на какое-либо значение. Это потому, что по умолчанию QTableCornerButton рисует нативную границу, которая полностью перекрывает background-color. Цвет сетки можно указать с помощью свойства gridline-color. См. QAbsractScrollArea для стилизации фонов прокрутки. См. Настройка QTableView для примера. |
| QTableWidget | См. QTableView. |
| QTextEdit | Поддерживает модель виджета. Цвет и фон выделенного текста стилизуются с помощью selection-color и selection-background-color соответственно. См. QAbsractScrollArea для стилизации фонов прокрутки. |
| QTimeEdit | См. QSpinBox. |
| QToolBar | Поддерживает модель виджета. Псевдосостояния :top, :left, :right, :bottom в зависимости от области, в которой расположена панель инструментов. Псевдосостояния :first, :last, :middle, :only-one указывают положение панели инструментов в группе строк (см. QStyleOptionToolBar::positionWithinLine). Разделитель QToolBar стилизуется с помощью подконтроли ::separator. Ручка (для перемещения панели инструментов) стилизуется с помощью подконтроли ::handle. См. Настройка QToolBar для примера. |
| QToolButton | Поддерживает модель виджета. Если у QToolButton есть меню, подконтроли ::menu-indicator может использоваться для стилизации индикатора. По умолчанию индикатор меню расположен в нижнем правом углу прямоугольника отступа виджета. Если QToolButton находится в режиме QToolButton::MenuButtonPopup, используется подконтроли ::menu-button для рисования кнопки меню. Подконтроли ::menu-arrow используется для рисования стрелки меню внутри кнопки меню. По умолчанию она расположена по центру прямоугольника содержимого подконтроли меню-кнопки. Когда QToolButton отображает стрелки, используются подконтроли ::up-arrow, ::down-arrow, ::left-arrow и ::right-arrow. Предупреждение: Если вы установите только background-color на QToolButton, фон не будет отображаться, если вы не установите свойство border на какое-либо значение. Это связано с тем, что по умолчанию QToolButton рисует нативную границу, которая полностью перекрывает background-color. Например, QToolButton { background-color: red; border: none; } См. Настройка QToolButton для примера. |
| QToolBox | Поддерживает модель виджета. Индивидуальные вкладки можно стилизовать с помощью подконтроли ::tab. Вкладки поддерживают псевдосостояния :only-one, :first, :last, :middle, :previous-selected, :next-selected, :selected. |
| QToolTip | Поддерживает модель виджета. Свойство opacity управляет непрозрачностью подсказки. См. Настройка QFrame для примера (QToolTip — это QFrame). |
| QTreeView | Поддерживает модель виджета. При включении альтернативных цветов строк, альтернативные цвета можно стилизовать с помощью свойства alternate-background-color. Цвет и фон выделенного элемента стилизуются с помощью selection-color и selection-background-color соответственно. Поведение выделения контролируется свойством show-decoration-selected. Ветви дерева можно стилизовать с помощью подконтроли ::branch. Подконтроли ::branch поддерживает псевдосостояния :open, :closed, :has-sibling и :has-children. Используйте подконтроли ::item для более тонкого управления элементами в QTreeView. См. QAbsractScrollArea для стилизации фонов прокрутки. См. Настройка QTreeView для примера стилизации ветвей. |
| QTreeWidget | См. QTreeView. |
| QWidget | Поддерживает только свойства background, background-clip и background-origin. Если вы наследуете от QWidget, вам необходимо предоставить paintEvent для вашего пользовательского QWidget, как показано ниже: void CustomWidget::paintEvent(QPaintEvent *)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
} Вышеприведенный код не выполняет никаких действий, если нет заданного стиля. Предупреждение: Убедитесь, что вы определили макрос Q_OBJECT для вашего пользовательского виджета. |
Список свойств
В таблице ниже перечислены все свойства, поддерживаемые Qt Style Sheets. Какие значения могут быть заданы для свойства, зависит от типа свойства. Если не указано иное, нижеприведённые свойства применяются ко всем виджетам. Свойства, помеченные звёздочкой *, специфичны для Qt и не имеют эквивалента в CSS2 или CSS3.
| Свойство | Тип | Описание |
|---|---|---|
alternate-background-color
|
Кисть | Альтернативный цвет фона, используемый в подклассах QAbstractItemView. Если это свойство не задано, используется значение свойства AlternateBase палитры. Пример: QTreeView {
alternate-background-color: blue;
background: yellow;
} См. также background и selection-background-color. |
background
|
Фон | Сокращенная запись для задания фона. Эквивалентно указанию background-color, background-image, background-repeat и/или background-position.Это свойство поддерживается подклассами QAbstractItemView, QAbstractSpinBox, QCheckBox, QComboBox, QDialog, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit, QToolTip и обычными QWidget. Пример: QTextEdit { background: yellow } Часто требуется задать узор заливки, подобный стилям в Qt::BrushStyle. Для Qt::SolidPattern, Qt::RadialGradientPattern, Qt::LinearGradientPattern и Qt::ConicalGradientPattern можно использовать свойство background-color. Другие узоры легко достигаются путем создания изображения фона, содержащего узор. Пример: QLabel {
background-image: url(dense6pattern.png);
background-repeat: repeat-xy;
} См. также background-origin, selection-background-color, background-clip, background-attachment и alternate-background-color. |
background-color
|
Кисть | Цвет фона виджета. Примеры: QLabel { background-color: yellow }
QLineEdit { background-color: rgb(255, 0, 0) } |
background-image
|
URL | Изображение фона, используемое для виджета. Полупрозрачные части изображения позволяют просвечивать background-color.Пример: QFrame { background-image: url(:/images/hydro.png) } |
background-repeat
|
Повторение | Как и где изображение фона повторяется, чтобы заполнить background-origin прямоугольник.Если это свойство не указано, изображение фона повторяется по обоим направлениям ( Пример: QFrame {
background: white url(:/images/ring.png);
background-repeat: repeat-y;
background-position: left;
} |
background-position |
Выравнивание | Выравнивание изображения фона внутри background-origin прямоугольника.Если это свойство не указано, выравнивание по умолчанию Пример: QFrame {
background: url(:/images/footer.png);
background-position: bottom left;
} |
background-attachment
|
Привязка | Определяет, прокручивается или закрепляется изображение фона в QAbstractScrollArea относительно области просмотра. По умолчанию изображение фона прокручивается вместе с областью просмотра. Пример: QTextEdit {
background-image: url("leaves.png");
background-attachment: fixed;
} См. также background |
background-clip
|
Начало | Прямоугольник виджета, в котором рисуется background.Это свойство определяет прямоугольник, к которому применяются обрезка Это свойство поддерживается подклассами QAbstractItemView, QAbstractSpinBox, QCheckBox, QComboBox, QDialog, QFrame, QGroupBox, QLabel, QPushButton, QRadioButton, QSplitter, QTextEdit, QToolTip и обычными QWidget. Если это свойство не задано, используется значение по умолчанию Пример: QFrame {
background-image: url(:/images/header.png);
background-position: top left;
background-origin: content;
background-clip: padding;
} См. также background, background-origin и Модель области. |
background-origin
|
Начало | Прямоугольник фона виджета, используемый совместно с background-position и background-image.Это свойство поддерживается подклассами QAbstractItemView, QAbstractSpinBox, QCheckBox, QComboBox, QDialog, QFrame, QGroupBox, QLabel, QPushButton, QRadioButton, QSplitter, QTextEdit, QToolTip и обычными QWidget. Если это свойство не задано, используется значение по умолчанию Пример: QFrame {
background-image: url(:/images/header.png);
background-position: top left;
background-origin: content;
} См. также background и Модель области. |
border
|
Граница | Сокращенная запись для задания границы виджета. Эквивалентно указанию border-color, border-style и/или border-width.Это свойство поддерживается подклассами QAbstractItemView, QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit, QToolTip и обычными QWidget. Пример: QLineEdit { border: 1px solid white } |
border-top |
Граница | Сокращенная запись для задания верхней границы виджета. Эквивалентно указанию border-top-color, border-top-style и/или border-top-width. |
border-right |
Граница | Сокращенная запись для задания правой границы виджета. Эквивалентно указанию border-right-color, border-right-style и/или border-right-width. |
border-bottom |
Граница | Сокращенная запись для задания нижней границы виджета. Эквивалентно указанию border-bottom-color, border-bottom-style и/или border-bottom-width. |
border-left |
Граница | Сокращенная запись для задания левой границы виджета. Эквивалентно указанию border-left-color, border-left-style и/или border-left-width. |
border-color
|
Цвета рамки | Цвет всех граней рамки. Эквивалентно указанию border-top-color, border-right-color, border-bottom-color и border-left-color.Это свойство поддерживается подклассами QAbstractItemView, QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit, QToolTip и обычными QWidget. Если это свойство не задано, оно по умолчанию равно свойству color (т.е., цвет переднего плана виджета). Пример: QLineEdit {
border-width: 1px;
border-style: solid;
border-color: white;
} См. также border-style, border-width, border-image и Модель области. |
border-top-color |
Кисть | Цвет верхней грани рамки. |
border-right-color |
Кисть | Цвет правой грани рамки. |
border-bottom-color |
Кисть | Цвет нижней грани рамки. |
border-left-color |
Кисть | Цвет левой грани рамки. |
border-image
|
Образ границы | Изображение, используемое для заполнения границы. Изображение разделяется на девять частей и растягивается при необходимости. Подробности см. в Образе границы. Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit и QToolTip. См. также цвет границы, стиль границы, ширину границы и Модель области. |
border-radius
|
Радиус | Радиус углов границы. Эквивалентно указанию border-top-left-radius, border-top-right-radius, border-bottom-right-radius и border-bottom-left-radius.Радиус границы обрезает фон элемента. Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit и QToolTip. Если этот параметр не указан, он по умолчанию равен 0. Пример: QLineEdit {
border-width: 1px;
border-style: solid;
border-radius: 4px;
} См. также ширину границы и Модель области. |
border-top-left-radius |
Радиус | Радиус верхнего левого угла границы. |
border-top-right-radius |
Радиус | Радиус верхнего правого угла границы. |
border-bottom-right-radius |
Радиус | Радиус нижнего правого угла границы. Установка этого параметра в положительное значение приводит к закругленному углу. |
border-bottom-left-radius |
Радиус | Радиус нижнего левого угла границы. Установка этого параметра в положительное значение приводит к закругленному углу. |
border-style
|
Стиль границы | Стиль всех граней границы. Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit и QToolTip. Если этот параметр не указан, он по умолчанию равен Пример: QLineEdit {
border-width: 1px;
border-style: solid;
border-color: blue;
} См. также цвет границы, стиль границы, изображение границы и Модель области. |
border-top-style |
Стиль границы | Стиль верхней грани границы. |
border-right-style |
Стиль границы | Стиль правой грани границы. |
border-bottom-style |
Стиль границы | Стиль нижней грани границы. |
border-left-style |
Стиль границы | Стиль левой грани границы. |
border-width
|
Размеры области | Ширина границы. Эквивалентно установке border-top-width, border-right-width, border-bottom-width и border-left-width.Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit и QToolTip. Пример: QLineEdit {
border-width: 2px;
border-style: solid;
border-color: darkblue;
} См. также цвет границы, радиус границы, стиль границы, изображение границы и Модель области. |
border-top-width |
Длина | Ширина верхней грани границы. |
border-right-width |
Длина | Ширина правой грани границы. |
border-bottom-width |
Длина | Ширина нижней грани границы. |
border-left-width |
Длина | Ширина левой грани границы. |
bottom
|
Длина | Если позиция равна relative (по умолчанию), сдвигает подконтроль вверх на определенное смещение; указание bottom: y тогда эквивалентно указанию top: -y.Если позиция равна Пример: QSpinBox::down-button { bottom: 2px } |
button-layout
|
Число | Макет кнопок в QDialogButtonBox или QMessageBox. Возможные значения: 0 (WinLayout), 1 (MacLayout), 2 (KdeLayout), 3 (GnomeLayout) и 5 (AndroidLayout). Если этот параметр не указан, он по умолчанию соответствует значению, указанному в текущем стиле для стилистического подсказки SH_DialogButtonLayout. Пример: * { button-layout: 2 } |
color
|
Кисть | Цвет, используемый для отрисовки текста. Этот параметр поддерживается всеми виджетами, которые учитывают QWidget::palette. Если этот параметр не задан, по умолчанию используется значение, заданное в палитре виджета для QWidget::foregroundRole (обычно чёрный). Пример: QPushButton { color: red } См. также фон и цвет выделения. |
dialogbuttonbox-buttons-have-icons |
Булево значение | Показывать ли иконки кнопок в QDialogButtonBox. Если этот параметр равен 1, кнопки QDialogButtonBox отображают иконки; если 0, иконки не отображаются. См. раздел Список иконок для получения информации о настройке иконок. QDialogButtonBox { dialogbuttonbox-buttons-have-icons: 1; } Примечание: Стили, определяющие этот параметр, должны применяться до создания QDialogButtonBox; это означает, что вы должны применить стиль к родительскому виджету или к самому приложению. |
font
|
Шрифт | Сокращенная запись для установки шрифта текста. Эквивалентно указанию font-family, font-size, font-style и/или font-weight.Этот параметр поддерживается всеми виджетами, которые учитывают QWidget::font. Если этот параметр не указан, по умолчанию используется QWidget::font. Пример: QCheckBox { font: bold italic large "Times New Roman" } |
font-family |
Строка | Семейство шрифтов. Пример: QCheckBox { font-family: "New Century Schoolbook" } |
font-size |
Размер шрифта | Размер шрифта. В этой версии Qt поддерживаются только метрики pt и px. Пример: QTextEdit { font-size: 12px } |
font-style |
Стиль шрифта | Стиль шрифта. Пример: QTextEdit { font-style: italic } |
font-weight |
Начертание шрифта | Начертание шрифта. |
gridline-color*
|
Цвет | Цвет линии сетки в QTableView. Если этот параметр не указан, он по умолчанию принимает значение, заданное текущим стилем для стилевого подсказки SH_Table_GridLineColor. Пример: * { gridline-color: gray } |
height
|
Длина | Высота подэлемента (или, в некоторых случаях, виджета). Если этот параметр не указан, он по умолчанию принимает значение, зависящее от подэлемента/виджета и текущего стиля. Предупреждение: Если не указано иное, этот параметр не оказывает влияния при настройке виджетов. Если вам нужен виджет с фиксированной высотой, установите min-height и max-height в одинаковое значение. Пример: QSpinBox::down-button { height: 10px } См. также ширина. |
icon
|
Url+ | Иконка, используемая для виджетов, имеющих иконку. В настоящее время этот параметр поддерживается только виджетом QPushButton. Примечание: Присвоение иконки кнопке (с использованием API QAbstractButton) является обязанностью приложения, а не стиля. Поэтому будьте осторожны при его установке, если ваш стиль ориентирован на конкретное приложение. Доступно начиная с версии 5.15. |
icon-size
|
Длина | Ширина и высота иконки в виджете. Размер иконки следующих виджетов можно задать с помощью этого параметра. |
image*
|
Url+ | Изображение, которое отрисовывается в области содержимого подэлемента. Параметр image принимает список Url или Установка параметра image для подэлементов подразумевает установку ширины и высоты подэлемента (если изображение не в формате SVG). В Qt 4.3 и более поздних версиях выравнивание изображения в прямоугольнике можно указать с помощью image-position. Этот параметр предназначен только для подэлементов — для других элементов он не поддерживается. Предупреждение: Для рендеринга изображений SVG необходим плагин SVG QIcon. Пример: // implicitly sets the size of down-button to the
// size of spindown.png
QSpinBox::down-button { image: url(:/images/spindown.png) } |
image-position
|
выравнивание | В Qt 4.3 и более поздних версиях выравнивание положения изображения можно указать с помощью относительного или абсолютного положения. |
left
|
Длина | Если position равно relative (по умолчанию), перемещает подэлемент на определённое смещение вправо.Если position равно Если этот параметр не указан, он по умолчанию равен Пример: QSpinBox::down-button { left: 2px } |
lineedit-password-character*
|
Число | Символ пароля QLineEdit в виде числового значения Юникод. Если этот параметр не указан, он по умолчанию принимает значение, заданное текущим стилем для стилевого подсказки SH_LineEdit_PasswordCharacter. Пример: * { lineedit-password-character: 9679 } |
lineedit-password-mask-delay*
|
Число | Задержка маски пароля QLineEdit в миллисекундах, прежде чем lineedit-password-character применится к видимым символам. Если этот параметр не указан, он по умолчанию принимает значение, заданное текущим стилем для стилевого подсказки SH_LineEdit_PasswordMaskDelay. Этот параметр был добавлен в Qt 5.4. Пример: * { lineedit-password-mask-delay: 1000 } |
margin
|
Размеры рамки | Поля виджета. Эквивалентно указанию margin-top, margin-right, margin-bottom и margin-left.Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit и QToolTip. Если этот параметр не указан, он по умолчанию равен Пример: QLineEdit { margin: 2px } См. также padding, spacing и Модель бокса. |
margin-top |
Длина | Верхнее поле виджета. |
margin-right |
Длина | Правое поле виджета. |
margin-bottom |
Длина | Нижнее поле виджета. |
margin-left |
Длина | Левое поле виджета. |
max-height
|
Длина | Максимальная высота виджета или подэлемента. Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSizeGrip, QSpinBox, QSplitter, QStatusBar, QTextEdit и QToolTip. Значение относится к области содержимого в модели бокса. Пример: QSpinBox { max-height: 24px } См. также max-width. |
max-width
|
Длина | Максимальная ширина виджета или подэлемента. Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSizeGrip, QSpinBox, QSplitter, QStatusBar, QTextEdit и QToolTip. Значение относится к области содержимого в модели бокса. Пример: QComboBox { max-width: 72px } См. также max-height. |
messagebox-text-interaction-flags*
|
Число | Поведение взаимодействия с текстом в диалоговом окне сообщений. Возможные значения основаны на Qt::TextInteractionFlags. Если этот параметр не указан, он по умолчанию принимает значение, заданное текущим стилем для стилевого подсказки SH_MessageBox_TextInteractionFlags. Пример: QMessageBox { messagebox-text-interaction-flags: 5 } |
min-height
|
Длина | Минимальная высота виджета или подэлемента. Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSizeGrip, QSpinBox, QSplitter, QStatusBar, QTextEdit и QToolTip. Если этот параметр не задан, минимальная высота определяется на основе содержимого виджета и стиля. Значение относится к прямоугольнику содержимого в модели области. Пример: QComboBox { min-height: 24px } См. также min-width. |
min-width
|
Длина | Минимальная ширина виджета или подэлемента. Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSizeGrip, QSpinBox, QSplitter, QStatusBar, QTextEdit и QToolTip. Если этот параметр не задан, минимальная ширина определяется на основе содержимого виджета и стиля. Значение относится к прямоугольнику содержимого в модели области. Пример: QComboBox { min-width: 72px } См. также min-height. |
opacity*
|
Число | Непрозрачность виджета. Возможные значения от 0 (прозрачный) до 255 (непрозрачный). Пока поддерживается только для подсказок. Если этот параметр не задан, он принимает значение, заданное текущим стилем для стилевого признака SH_ToolTipLabel_Opacity. Пример: QToolTip { opacity: 223 } |
| outline | Контур, нарисованный вокруг границы объекта. | |
| outline-color | Цвет | Цвет контура. См. также border-color |
| outline-offset | Длина | Смещение контура от границы виджета. |
| outline-style | Указывает шаблон, используемый для рисования контура. См. также border-style | |
| outline-radius | Добавляет скругленные углы к контуру | |
| outline-bottom-left-radius | Радиус | Радиус скругления нижнего левого угла контура. |
| outline-bottom-right-radius | Радиус | Радиус скругления нижнего правого угла контура. |
| outline-top-left-radius | Радиус | Радиус скругления верхнего левого угла контура. |
| outline-top-right-radius | Радиус | Радиус скругления верхнего правого угла контура. |
padding
|
Размеры области | Отступ виджета. Эквивалентно указанию padding-top, padding-right, padding-bottom и padding-left.Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit и QToolTip. Если этот параметр не задан, он принимает значение по умолчанию Пример: QLineEdit { padding: 3px } См. также margin, spacing и Модель области. |
padding-top |
Длина | Верхний отступ виджета. |
padding-right |
Длина | Правый отступ виджета. |
padding-bottom |
Длина | Нижний отступ виджета. |
padding-left |
Длина | Левый отступ виджета. |
paint-alternating-row-colors-for-empty-area
|
bool |
Определяет, рисует ли QTreeView чередующиеся цвета строк для пустой области (т.е. области, где нет элементов). |
position
|
relative | absolute
|
Определяет, являются ли смещения, заданные с помощью left, right, top и bottom, относительными или абсолютными координатами. Если этот параметр не задан, он принимает значение по умолчанию |
right
|
Длина | Если position равен relative (по умолчанию), смещает подэлемент влево на определенное смещение; указание right: x эквивалентно указанию left: -x.Если position равен Пример: QSpinBox::down-button { right: 2px } |
selection-background-color*
|
Заливка | Фон выделенного текста или элементов. Этот параметр поддерживается всеми виджетами, которые учитывают QWidget::palette и которые отображают выделенный текст. Если этот параметр не задан, значение по умолчанию — то, что установлено для роли Highlight палитры. Пример: QTextEdit { selection-background-color: darkblue } См. также selection-color и background. |
selection-color*
|
Заливка | Цвет переднего плана выделенного текста или элементов. Этот параметр поддерживается всеми виджетами, которые учитывают QWidget::palette и которые отображают выделенный текст. Если этот параметр не задан, значение по умолчанию — то, что установлено для роли HighlightedText палитры. Пример: QTextEdit { selection-color: white } См. также selection-background-color и цвет. |
show-decoration-selected*
|
Булево | Определяет, покрывают ли выделения в QListView всю строку или только область текста. Если этот параметр не задан, он принимает значение, заданное текущим стилем для стилевого признака SH_ItemView_ShowDecorationSelected. Пример: * { show-decoration-selected: 1 } |
spacing*
|
Длина | Внутренний отступ виджета. Этот параметр поддерживается QCheckBox, проверяемыми QGroupBox, QMenuBar и QRadioButton. Если этот параметр не задан, значение по умолчанию зависит от виджета и текущего стиля. Пример: QMenuBar { spacing: 10 } |
subcontrol-origin*
|
Исходная точка | Прямоугольник исходной точки подэлемента внутри родительского элемента. Если этот параметр не задан, значение по умолчанию — Пример: QSpinBox::up-button {
image: url(:/images/spinup.png);
subcontrol-origin: content;
subcontrol-position: right top;
} См. также subcontrol-position. |
subcontrol-position*
|
Выравнивание | Выравнивание подэлемента внутри прямоугольника начала, указанного свойством subcontrol-origin. Если это свойство не указано, оно по умолчанию принимает значение, зависящее от подэлемента. Пример: QSpinBox::down-button {
image: url(:/images/spindown.png);
subcontrol-origin: padding;
subcontrol-position: right bottom;
} См. также subcontrol-origin. |
titlebar-show-tooltips-on-buttons}
|
bool |
Отображение подсказок на кнопках панели заголовка окна. |
widget-animation-duration*
|
Число | Длительность анимации (в миллисекундах). Значение, равное нулю, означает отключение анимации. Если это свойство не указано, оно по умолчанию принимает значение, указанное в текущем стиле для подсказки стиля SH_Widget_Animation_Duration. Это свойство было добавлено в Qt 5.10. Пример: * { widget-animation-duration: 100 } |
text-align
|
Выравнивание | Выравнивание текста и значка внутри содержимого виджета. Если это значение не указано, оно по умолчанию принимает значение, зависящее от нативного стиля. Пример: QPushButton {
text-align: left;
} Это свойство в настоящее время поддерживается только QPushButton и QProgressBar. |
text-decoration |
none underline overline line-through
|
Дополнительные эффекты текста |
top
|
Длина | Если position равно relative (значение по умолчанию), перемещает подэлемент вниз на определенный смещение.Если position равно Если это свойство не указано, оно по умолчанию равно Пример: QSpinBox::up-button { top: 2px } |
width
|
Длина | Ширина подэлемента (или виджета в некоторых случаях). Если это свойство не указано, оно по умолчанию принимает значение, зависящее от подэлемента/виджета и текущего стиля. Предупреждение: Если не указано иное, это свойство не влияет на виджеты. Если вам нужен виджет с фиксированной шириной, установите min-width и max-width в одинаковое значение. Пример: QSpinBox::up-button { width: 12px } См. также height. |
| -qt-background-role | Роль палитры | Роль background-color для подэлемента или виджета на основе выбранной роли. |
| -qt-style-features | list |
Список свойств CSS, для которых необходимо применять специфичные стили Qt. Примечание: Список |
Список значков
Значки, используемые в Qt, можно настроить с помощью следующих свойств. Каждое из перечисленных свойств имеет тип Значок.
Обратите внимание, что для отображения значков в кнопках в QDialogButtonBox, необходимо установить свойство dialogbuttonbox-buttons-have-icons в значение true. Кроме того, для настройки размера значков используйте свойство icon-size.
| Имя | QStyle::StandardPixmap |
|---|---|
| иконка назад | QStyle::SP_ArrowBack |
| иконка компакт-диска | QStyle::SP_DriveCDIcon |
| иконка компьютера | QStyle::SP_ComputerIcon |
| иконка рабочего стола | QStyle::SP_DesktopIcon |
| иконка "Применить" диалогового окна | QStyle::SP_DialogApplyButton |
| иконка "Отмена" диалогового окна | QStyle::SP_DialogCancelButton |
| иконка "Закрыть" диалогового окна | QStyle::SP_DialogCloseButton |
| иконка "Отбросить" диалогового окна | QStyle::SP_DialogDiscardButton |
| иконка справки диалогового окна | QStyle::SP_DialogHelpButton |
| иконка "Нет" диалогового окна | QStyle::SP_DialogNoButton |
| иконка "ОК" диалогового окна | QStyle::SP_DialogOkButton |
| иконка "Открыть" диалогового окна | QStyle::SP_DialogOpenButton |
| иконка "Сбросить" диалогового окна | QStyle::SP_DialogResetButton |
| иконка "Сохранить" диалогового окна | QStyle::SP_DialogSaveButton |
| иконка "Да" диалогового окна | QStyle::SP_DialogYesButton |
| иконка закрытой папки | QStyle::SP_DirClosedIcon |
| иконка папки | QStyle::SP_DirIcon |
| иконка ссылки папки | QStyle::SP_DirLinkIcon |
| иконка открытой папки | QStyle::SP_DirOpenIcon |
| иконка закрытия виджета панели | QStyle::SP_DockWidgetCloseButton |
| иконка вниз | QStyle::SP_ArrowDown |
| иконка DVD-диска | QStyle::SP_DriveDVDIcon |
| иконка файла | QStyle::SP_FileIcon |
| иконка ссылки файла | QStyle::SP_FileLinkIcon |
| иконка содержимого диалогового окна файла | QStyle::SP_FileDialogContentsView |
| иконка детального просмотра диалогового окна файла | QStyle::SP_FileDialogDetailedView |
| иконка конца диалогового окна файла | QStyle::SP_FileDialogEnd |
| иконка просмотра информации диалогового окна файла | QStyle::SP_FileDialogInfoView |
| иконка списка диалогового окна файла | QStyle::SP_FileDialogListView |
| иконка создания новой папки в диалоговом окне файла | QStyle::SP_FileDialogNewFolder |
| иконка родительской папки в диалоговом окне файла | QStyle::SP_FileDialogToParent |
| иконка начала диалогового окна файла | QStyle::SP_FileDialogStart |
| иконка дискеты | QStyle::SP_DriveFDIcon |
| иконка вперёд | QStyle::SP_ArrowForward |
| иконка жёсткого диска | QStyle::SP_DriveHDIcon |
| иконка домашней папки | QStyle::SP_DirHomeIcon |
| иконка очистки поля редактирования | QStyle::SP_LineEditClearButton |
| иконка влево | QStyle::SP_ArrowLeft |
| иконка критической ошибки | QStyle::SP_MessageBoxCritical |
| иконка информации | QStyle::SP_MessageBoxInformation |
| иконка вопроса | QStyle::SP_MessageBoxQuestion |
| иконка предупреждения | QStyle::SP_MessageBoxWarning |
| иконка сети | QStyle::SP_DriveNetIcon |
| иконка вправо | QStyle::SP_ArrowRight |
| иконка справки в заголовке | QStyle::SP_TitleBarContextHelpButton |
| иконка максимального размера в заголовке | QStyle::SP_TitleBarMaxButton |
| иконка меню в заголовке | QStyle::SP_TitleBarMenuButton |
| иконка минимизации в заголовке | QStyle::SP_TitleBarMinButton |
| иконка обычного размера в заголовке | QStyle::SP_TitleBarNormalButton |
| иконка сворачивания в заголовке | QStyle::SP_TitleBarShadeButton |
| иконка разворачивания в заголовке | QStyle::SP_TitleBarUnshadeButton |
| иконка корзины | QStyle::SP_TrashIcon |
| иконка вверх | QStyle::SP_ArrowUp |
Список типов свойств
В следующей таблице обобщены синтаксис и значение различных типов свойств.
| Тип | Синтаксис | Описание |
|---|---|---|
| Выравнивание | { top | bottom | left | right | center }* |
Горизонтальное и/или вертикальное выравнивание. Пример: QTextEdit { background-position: bottom center } |
| Прикрепление | { scroll | fixed }* |
Прикрепление к прокрутке или закрепление. |
| Фон | { Кисть | URL | Повторение | Выравнивание }* | Последовательность кистей, URL, повторений и выравниваний. |
| Булево | 0 | 1 | Истина (1) или ложь (0).Пример: QDialog { etch-disabled-text: 1 } |
| Граница | { Стиль границы | Длина | Кисть }* | Сокращенное свойство границы. |
| Изображение границы |
none | URL Число{4} (stretch | repeat){0,2} |
Изображение границы — это изображение, состоящее из девяти частей (верхний левый, верхний центральный, верхний правый, центральный левый, центральный, центральный правый, нижний левый, нижний центральный и нижний правый). Когда требуется граница определенного размера, угловые части используются как есть, а верхняя, правая, нижняя и левая части растягиваются или повторяются, чтобы создать границу нужного размера. Подробности см. в спецификации черновика CSS3. |
| Стиль границы |
dashed | dot-dash | dot-dot-dash | dotted | double | groove | inset | outset | ridge | solid | none
|
Определяет узор, используемый для рисования границы. Подробности см. в спецификации черновика CSS3. |
| Цвета рамки | Кисть{1,4} | От одного до четырех вхождений кисти, определяющих верхнюю, правую, нижнюю и левую стороны рамки соответственно. Если левый цвет не указан, он принимается равным правому цвету. Если нижний цвет не указан, он принимается равным верхнему цвету. Если правый цвет не указан, он принимается равным верхнему цвету. Пример: QLabel { border-color: red } /* red red red red */
QLabel { border-color: red blue } /* red blue red blue */
QLabel { border-color: red blue green } /* red blue green blue */
QLabel { border-color: red blue green yellow }
/* red blue green yellow */ |
| Размеры рамки | Длина{1,4} | От одного до четырех вхождений длины, определяющих верхнюю, правую, нижнюю и левую стороны рамки соответственно. Если левая длина не указана, она принимается равной правой длине. Если нижняя длина не указана, она принимается равной верхней длине. Если правая длина не указана, она принимается равной верхней длине. Примеры: QLabel { border-width: 1px } /* 1px 1px 1px 1px */
QLabel { border-width: 1px 2px } /* 1px 2px 1px 2px */
QLabel { border-width: 1px 2px 3px } /* 1px 2px 3px 2px */
QLabel { border-width: 1px 2px 3px 4px } /* 1px 2px 3px 4px */ |
| Кисть | Цвет | Градиент | Роль палитры | Определяет цвет или градиент или запись в палитре. |
| Цвет |
rgb(r, g, b) | rgba(r, g, b, a) | hsv(h, s, v) | hsva(h, s, v, a) | hsl(h, s, l) | hsla(h, s, l, a) | #rrggbb | Имя цвета |
Определяет цвет как RGB (красный, зелёный, синий), RGBA (красный, зелёный, синий, альфа), HSV (оттенок, насыщенность, значение), HSVA (оттенок, насыщенность, значение, альфа), HSL (оттенок, насыщенность, светлота), HSLA (оттенок, насыщенность, светлота, альфа) или имя цвета. Синтаксис rgb() или rgba() может использоваться с целочисленными значениями от 0 до 255 или с процентами. Значение s, v, l и a в hsv(), hsva(), hsl() или hsla() должно быть в диапазоне от 0 до 255 или в процентах, а значение h должно быть в диапазоне от 0 до 359. Поддержка HSL(A) доступна с версии 5.13.Примеры: QLabel { border-color: red } /* opaque red */
QLabel { border-color: #FF0000 } /* opaque red */
QLabel { border-color: rgba(255, 0, 0, 75%) } /* 75% opaque red */
QLabel { border-color: rgb(255, 0, 0) } /* opaque red */
QLabel { border-color: rgb(100%, 0%, 0%) } /* opaque red */
QLabel { border-color: hsv(60, 100%, 100%) } /* opaque yellow */
QLabel { border-color: hsva(240, 255, 255, 75%) } /* 75% blue */
QLabel { border-color: hsl(60, 100%, 50%) } /* opaque yellow */
QLabel { border-color: hsla(240, 255, 50%, 75%) } /* 75% blue */ Примечание: Разрешенные цвета RGB такие же, как и в CSS 2.1, перечисленные здесь. |
| Шрифт | (Стиль шрифта | Вес шрифта){0,2} Размер шрифта Строка | Сокращенное свойство шрифта. |
| Размер шрифта | Длина | Размер шрифта. |
| Стиль шрифта |
normal | italic | oblique
|
Стиль шрифта. |
| Вес шрифта |
normal | bold | 100 | 200 ... | 900
|
Вес шрифта. |
| Градиент |
qlineargradient | qradialgradient | qconicalgradient
|
Определяет заливки градиента. Существует три типа заливок градиентом:
Градиенты задаются в режиме привязки к объекту. Представьте, что прямоугольник, в котором рендерится градиент, имеет свой верхний левый угол в (0, 0) и свой нижний правый угол в (1, 1). Параметры градиента затем задаются в процентах от 0 до 1. Эти значения экстраполируются до фактических координат прямоугольника во время выполнения. Можно указывать значения, которые лежат за пределами ограничивающего прямоугольника (например, -0,6 или 1,8). Предупреждение: Остановки должны появляться в отсортированном порядке по возрастанию. Примеры: /* linear gradient from white to green */
QTextEdit {
background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
stop:0 white, stop: 0.4 gray, stop:1 green)
}
/* linear gradient from white to green */
QTextEdit {
background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
stop:0 white, stop: 0.4 rgba(10, 20, 30, 40),
stop:1 rgb(0, 200, 230, 200))
}
/* conical gradient from white to green */
QTextEdit {
background: qconicalgradient(cx:0.5, cy:0.5, angle:30,
stop:0 white, stop:1 #00FF00)
}
/* radial gradient from white to green */
QTextEdit {
background: qradialgradient(cx:0, cy:0, radius: 1,
fx:0.5, fy:0.5, stop:0 white, stop:1 green)
} |
| Значок | (URL (disabled | active | normal | selected)? (on | off)? )* |
Список URL, QIcon::Mode и QIcon::State. Пример: * {
file-icon: url(file.png),
url(file_selected.png) selected;
}
QMessageBox {
dialogbuttonbox-buttons-have-icons: true;
dialog-ok-icon: url(ok.svg);
dialog-cancel-icon: url(cancel.png),
url(grayed_cancel.png) disabled;
} |
| Длина |
Число (px | pt | em | ex)? |
Число, за которым следует единица измерения. Стандарт CSS рекомендует, чтобы пользовательские агенты игнорировали объявление с незаконным значением. В Qt обязательно указывать единицы измерения. Для совместимости с более ранними версиями Qt числа без единиц измерения в большинстве контекстов рассматриваются как пиксели. Поддерживаемые единицы:
Однако Qt ограничен размерами шрифтов в |
| Число | Десятичное целое число или действительное число | Примеры: 0, 18, +127, -255, 12.34, -.5, 0009. |
| Происхождение |
margin | border | padding | content
|
Указывает, какой из четырех прямоугольников использовать.
См. также Модель области. |
| Роль палитры |
alternate-base | base | bright-text | button | button-text | dark | highlight | highlighted-text | light | link | link-visited | mid | midlight | shadow | text | window | window-text |
Эти значения соответствуют ролям цветов в QPalette виджета. Например, QPushButton { color: palette(dark); } |
| Радиус | Длина{1, 2} | Одно или два вхождения длины. Если указана только одна длина, она используется в качестве радиуса четверти окружности, определяющей угол. Если указаны две длины, первая длина — горизонтальный радиус четверти эллипса, а вторая — вертикальный радиус. |
| Repeat |
repeat-x | repeat-y | repeat | no-repeat
|
A value indicating the nature of repetition.
|
| Url | url(filename) |
filename — это имя файла на локальном диске или хранящегося с помощью Системы ресурсов Qt. Установка изображения неявно задаёт ширину и высоту элемента. |
Список псевдосостояний
Поддерживаются следующие псевдосостояния:
| Псевдосостояние | Описание |
|---|---|
:active
|
Это состояние устанавливается, когда виджет находится в активном окне. |
:adjoins-item
|
Это состояние устанавливается, когда ::branch QTreeView примыкает к элементу. |
:alternate
|
Это состояние устанавливается для каждой второй строки при отрисовке строки в QAbstractItemView, когда QAbstractItemView::alternatingRowColors() установлено в значение true. |
:bottom
|
Элемент расположен внизу. Например, QTabBar с вкладками внизу. |
:checked
|
Элемент выбран. Например, состояние checked для QAbstractButton. |
:closable
|
Элементы могут быть закрыты. Например, у QDockWidget включено свойство QDockWidget::DockWidgetClosable. |
:closed
|
Элемент находится в закрытом состоянии. Например, нерасширенный элемент в QTreeView. |
:default
|
Элемент является по умолчанию. Например, по умолчанию QPushButton или действие по умолчанию в QMenu. |
:disabled
|
Элемент отключен. |
:editable
|
QComboBox редактируется. |
:edit-focus
|
Элемент имеет фокус редактирования (см. QStyle::State_HasEditFocus). Это состояние доступно только для приложений Qt Extended. |
:enabled
|
Элемент активирован. |
:exclusive
|
Элемент является частью группы элементов с взаимным исключением. Например, пункт меню в QActionGroup с взаимным исключением. |
:first
|
Элемент — первый (в списке). Например, первая вкладка в QTabBar. |
:flat
|
Элемент плоский. Например, плоский QPushButton. |
:floatable
|
Элементы могут быть перемещены. Например, QDockWidget имеет включенное свойство QDockWidget::DockWidgetFloatable. |
:focus
|
Элемент имеет фокус ввода. |
:has-children
|
У элемента есть дочерние элементы. Например, элемент в QTreeView, имеющий дочерние элементы. |
:has-siblings
|
У элемента есть родственные элементы. Например, элемент в QTreeView, имеющий родственные элементы. |
:horizontal
|
Элемент имеет горизонтальную ориентацию. |
:hover
|
Курсор мыши наведён на элемент. |
:indeterminate
|
Элемент имеет неопределённое состояние. Например, QCheckBox или QRadioButton частично отмечен. |
:last
|
Элемент — последний (в списке). Например, последняя вкладка в QTabBar. |
:left
|
Элемент расположен слева. Например, QTabBar с вкладками слева. |
:maximized
|
Элемент максимизирован. Например, максимизированный QMdiSubWindow. |
:middle
|
Элемент находится посередине (в списке). Например, вкладка, не являющаяся первой или последней, в QTabBar. |
:minimized
|
Элемент минимизирован. Например, минимизированный QMdiSubWindow. |
:movable
|
Элемент может перемещаться. Например, QDockWidget имеет включенное свойство QDockWidget::DockWidgetMovable. |
:no-frame
|
У элемента нет рамки. Например, QSpinBox или QLineEdit без рамки. |
:non-exclusive
|
Элемент является частью группы элементов без взаимного исключения. Например, пункт меню в QActionGroup без взаимного исключения. |
:off
|
Для элементов, которые могут быть переключены, это относится к элементам в состоянии «выкл». |
:on
|
Для элементов, которые могут быть переключены, это относится к виджетам в состоянии «вкл». |
:only-one
|
Элемент единственный (в списке). Например, единственная вкладка в QTabBar. |
:open
|
Элемент открыт. Например, раскрытый элемент в QTreeView или QComboBox или QPushButton с открытым меню. |
:next-selected
|
Следующий элемент (в списке) выбран. Например, следующая вкладка в QTabBar рядом с выбранной вкладкой. |
:pressed
|
Элемент нажат мышкой. |
:previous-selected
|
Предыдущий элемент (в списке) выбран. Например, вкладка в QTabBar рядом с выбранной вкладкой. |
:read-only
|
Элемент помечен как только для чтения или нередактируемый. Например, QLineEdit только для чтения или нередактируемый QComboBox. |
:right
|
Элемент расположен справа. Например, QTabBar с вкладками справа. |
:selected
|
Элемент выбран. Например, выбранная вкладка в QTabBar или выбранный пункт в QMenu. |
:top
|
Элемент расположен сверху. Например, QTabBar с вкладками сверху. |
:unchecked
|
Элемент не выбран. |
:vertical
|
Элемент имеет вертикальную ориентацию. |
:window
|
Виджет является окном (т.е. виджетом верхнего уровня). |
Список подконтролей
Доступны следующие подконтроли:
| Подконтроль | Описание |
|---|---|
::add-line
|
Кнопка для добавления строки в QScrollBar. |
::add-page
|
Область между ползунком (слайдером) и элементом «добавить строку» в QScrollBar. |
::branch
|
Индикатор ветви в QTreeView. |
::chunk
|
Часть прогресса в QProgressBar. |
::close-button
|
Кнопка закрытия QDockWidget или вкладки QTabBar. |
::corner
|
Угол между двумя полосами прокрутки в QAbstractScrollArea. |
::down-arrow
|
Стрелка вниз в QComboBox, QHeaderView (индикатор сортировки), QScrollBar или QSpinBox. |
::down-button
|
Кнопка вниз в QScrollBar или QSpinBox. |
::drop-down
|
Кнопка раскрывающегося списка в QComboBox. |
::float-button
|
Плавающая кнопка QDockWidget. |
::groove
|
Паз в QSlider. |
::indicator
|
Индикатор в QAbstractItemView, QCheckBox, QRadioButton, элементе QMenu с возможностью выбора или QGroupBox с возможностью выбора. |
::handle
|
Ползунок (слайдер) в QScrollBar, QSplitter или QSlider. |
::icon
|
Значок в QAbstractItemView или QMenu. |
::item
|
Элемент QAbstractItemView, QMenuBar, QMenu или QStatusBar. |
::left-arrow
|
Стрелка влево в QScrollBar. |
::left-corner
|
Левый угол QTabWidget. Например, этот элемент управления может использоваться для управления позицией виджета в левом углу QTabWidget. |
::menu-arrow
|
Стрелка в меню QToolButton. |
::menu-button
|
Кнопка меню в QToolButton. |
::menu-indicator
|
Индикатор меню в QPushButton. |
::right-arrow
|
Стрелка вправо в QMenu или QScrollBar. |
::pane
|
Панель (QTabWidget). |
::right-corner
|
Правый угол QTabWidget. Например, этот элемент управления может использоваться для управления позицией виджета в правом углу QTabWidget. |
::scroller
|
Прокрутка в QMenu или QTabBar. |
::section
|
Секция в QHeaderView. |
::separator
|
Разделитель в QMenu или в QMainWindow. |
::sub-line
|
Кнопка для вычитания строки в QScrollBar. |
::sub-page
|
Область между ползунком (слайдером) и элементом «вычесть строку» в QScrollBar. |
::tab
|
Вкладка в QTabBar или QToolBox. |
::tab-bar
|
Панель вкладок в QTabWidget. Этот подконтроль существует только для управления позицией QTabBar внутри QTabWidget. Для стилизации вкладок используйте подконтроль ::tab. |
::tear
|
Индикатор разрыва в QTabBar. |
::tearoff
|
Индикатор отрыва в QMenu. |
::text
|
Текст в QAbstractItemView. |
::title
|
Заголовок QGroupBox или QDockWidget. |
::up-arrow
|
Стрелка вверх в QHeaderView (индикатор сортировки), QScrollBar или QSpinBox. |
::up-button
|
Кнопка вверх в QSpinBox. |
См. Настройка индикатора меню QPushButton для примера настройки подконтроля.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/stylesheet-reference.html