Spec-Zone.ru › Qt 6.0

Справочник по стилям Qt

Стилевые таблицы Qt поддерживают различные свойства, псевдосостояния и подэлементы, которые позволяют настраивать вид виджетов.

Список стилизуемых виджетов

В следующей таблице перечислены виджеты Qt, которые можно настраивать с помощью стилей:

Виджет Как стилизовать
QAbstractScrollArea Поддерживает модель разметки.

Все производные от QAbstractScrollArea, включая QTextEdit и QAbstractItemView (все классы представления элементов), поддерживают прокручиваемые фоны с помощью background-attachment. Установка background-attachment на fixed обеспечивает фоновое изображение, которое не прокручивается вместе с областью просмотра. Установка background-attachment на scroll прокручивает фоновое изображение при перемещении полос прокрутки.

Пример см. в Настройка 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 в зависимости от ориентации вкладок.

Перекрывающиеся вкладки для выделенного состояния создаются с помощью отрицательных отступов или с использованием схемы позиционирования absolute.

Индикатор разрыва QTabBar стилизуется с помощью подконтроли ::tear.

QTabBar использует две QToolButton для своих полос прокрутки, которые можно стилизовать с помощью селектора QTabBar QToolButton. Для указания ширины кнопки прокрутки используйте подконтроли ::scroller.

Выравнивание вкладок внутри 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 прямоугольник.

Если это свойство не указано, изображение фона повторяется по обоим направлениям (repeat).

Пример:

QFrame {
    background: white url(:/images/ring.png);
    background-repeat: repeat-y;
    background-position: left;
}
background-position Выравнивание Выравнивание изображения фона внутри background-origin прямоугольника.

Если это свойство не указано, выравнивание по умолчанию top left.

Пример:

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.

Это свойство определяет прямоугольник, к которому применяются обрезка background-color и background-image.

Это свойство поддерживается подклассами QAbstractItemView, QAbstractSpinBox, QCheckBox, QComboBox, QDialog, QFrame, QGroupBox, QLabel, QPushButton, QRadioButton, QSplitter, QTextEdit, QToolTip и обычными QWidget.

Если это свойство не задано, используется значение по умолчанию border.

Пример:

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.

Если это свойство не задано, используется значение по умолчанию padding.

Пример:

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.

Если этот параметр не указан, он по умолчанию равен none.

Пример:

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.

Если позиция равна absolute, свойство bottom задает нижнюю грань подконтроли относительно нижней грани родителя (см. также начало подконтроли).

Пример:

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 Длина Ширина и высота иконки в виджете.

Размер иконки следующих виджетов можно задать с помощью этого параметра.

  • QCheckBox
  • QListView
  • QPushButton
  • QRadioButton
  • QTabBar
  • QToolBar
  • QToolBox
  • QTreeView
image* Url+ Изображение, которое отрисовывается в области содержимого подэлемента.

Параметр image принимает список Url или svg. Фактическое изображение, которое отображается, определяется с помощью того же алгоритма, что и QIcon (т. е.) изображение никогда не увеличивается в масштабе, а всегда уменьшается при необходимости. Если указан svg, изображение масштабируется до размера области содержимого.

Установка параметра 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 равно absolute, свойство left задаёт левую границу подэлемента относительно левой границы родителя (см. также subcontrol-origin).

Если этот параметр не указан, он по умолчанию равен 0.

Пример:

QSpinBox::down-button { left: 2px }

См. также right, top и bottom.

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.

Если этот параметр не указан, он по умолчанию равен 0.

Пример:

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 }
END_OF_DOCUMENT_MARKER
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.

Если этот параметр не задан, он принимает значение по умолчанию 0.

Пример:

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, относительными или абсолютными координатами.

Если этот параметр не задан, он принимает значение по умолчанию relative.

right Длина Если position равен relative (по умолчанию), смещает подэлемент влево на определенное смещение; указание right: x эквивалентно указанию left: -x.

Если position равен absolute, свойство right определяет правую границу подэлемента относительно правой границы родительского элемента (см. также subcontrol-origin).

Пример:

QSpinBox::down-button { right: 2px }

См. также left, top и bottom.

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 }

См. также padding и margin.

subcontrol-origin* Исходная точка Прямоугольник исходной точки подэлемента внутри родительского элемента.

Если этот параметр не задан, значение по умолчанию — padding.

Пример:

QSpinBox::up-button {
    image: url(:/images/spinup.png);
    subcontrol-origin: content;
    subcontrol-position: right top;
}

См. также subcontrol-position.

END_OF_DOCUMENT_MARKER
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 равно absolute, свойство top определяет верхний край подэлемента относительно верхнего края родительского элемента (см. также subcontrol-origin).

Если это свойство не указано, оно по умолчанию равно 0.

Пример:

QSpinBox::up-button { top: 2px }

См. также left, right и bottom.

width Длина Ширина подэлемента (или виджета в некоторых случаях).

Если это свойство не указано, оно по умолчанию принимает значение, зависящее от подэлемента/виджета и текущего стиля.

Предупреждение: Если не указано иное, это свойство не влияет на виджеты. Если вам нужен виджет с фиксированной шириной, установите min-width и max-width в одинаковое значение.

Пример:

QSpinBox::up-button { width: 12px }

См. также height.

-qt-background-role Роль палитры Роль background-color для подэлемента или виджета на основе выбранной роли.
-qt-style-features list Список свойств CSS, для которых необходимо применять специфичные стили Qt.

Примечание: Список list может содержать только свойства, не основанные на растровых изображениях.

Список значков

Значки, используемые в 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 числа без единиц измерения в большинстве контекстов рассматриваются как пиксели. Поддерживаемые единицы:
  • px: пиксели
  • pt: размер одного пункта (т. е. 1/72 дюйма)
  • em: ширина em шрифта (т. е. ширина 'M')
  • ex: высота x шрифта (т. е. высота 'x')

Однако Qt ограничен размерами шрифтов в pt и px, а любой другой размер должен быть в px, em или ex.

Число Десятичное целое число или действительное число Примеры: 0, 18, +127, -255, 12.34, -.5, 0009.
Происхождение margin | border | padding | content Указывает, какой из четырех прямоугольников использовать.
  • 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.
  • repeat-x: Повторять по горизонтали.
  • repeat-y: Повторять по вертикали.
  • repeat: Повторять по горизонтали и вертикали.
  • no-repeat: Не повторять.
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API