Spec-Zone.ru › Qt 5.14

Справочник по стилям 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 Поддерживает стилизацию панели заголовка и кнопок панели заголовка при пристыкованном расположении.

Границу виджета 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.

Для элементов с подменю метки стрелок стилизуются с помощью right-arrow и left-arrow.

Скроллер стилизуется с помощью подэлемента ::scroller.

Отрывной элемент стилизуется с помощью подэлемента ::tearoff.

Пример см. в Настройка QMenu.

QMenuBar Поддерживает модель области. Свойство spacing задаёт интервал между элементами меню. Отдельные элементы стилизуются с помощью подэлемента ::item.

Предупреждение: При работе на Qt/Mac панель меню обычно встраивается в системную панель меню. В этом случае стиль не повлияет.

Пример см. в Настройка QMenuBar.

QMessageBox Свойство messagebox-text-interaction-flags может быть использовано для изменения взаимодействия с текстом в окне сообщения.
QProgressBar Поддерживает модель области. Части полосы прогресса могут быть стилизованы с помощью подэлемента ::chunk. Подэлемент отображается в области содержимого виджета.

Если полоса прогресса отображает текст, используйте свойство text-align для позиционирования текста.

У неопределённых полос прогресса установлено псевдосостояние :indeterminate.

Пример см. в Настройка QProgressBar.

QPushButton Поддерживает модель области. Поддерживает псевдосостояния :default, :flat, :checked.

Для QPushButton с меню индикатор меню стилизуется с помощью подэлемента ::menu-indicator. Внешний вид кнопок, которые можно отметить, можно настроить с помощью псевдосостояний :open и :closed.

Предупреждение: Если вы устанавливаете только цвет фона для QPushButton, фон может не отобразиться, пока вы не зададите какое-либо значение свойства border. Это происходит потому, что по умолчанию QPushButton рисует нативный border, который полностью перекрывает цвет фона. Например,

QPushButton { background-color: red; border: none; }

Пример см. в Настройка QPushButton.

QRadioButton Поддерживает модель области. Индикатор отметки может быть стилизован с помощью подэлемента ::indicator. По умолчанию индикатор размещается в верхнем левом углу области содержимого виджета.

Свойство spacing задаёт интервал между индикатором отметки и текстом.

Пример см. в Настройка QRadioButton.

QScrollBar Поддерживает модель области. Область содержимого виджета рассматривается как желоб, по которому перемещается ползунок. Размер QScrollBar (т. е. ширина или высота в зависимости от ориентации) задаётся с помощью свойств width или height соответственно. Для определения ориентации используйте псевдосостояния :horizontal и :vertical.

Ползунок можно стилизовать с помощью подэлемента ::handle. Установка min-width или min-height задаёт ограничения размера ползунка в зависимости от ориентации.

Подэлемент ::add-line можно использовать для стилизации кнопки добавления строки. По умолчанию подэлемент add-line размещается в верхнем правом углу прямоугольника border виджета. В зависимости от ориентации используется ::right-arrow или ::down-arrow. По умолчанию стрелки размещаются по центру области содержимого подэлемента add-line.

Подэлемент ::sub-line можно использовать для стилизации кнопки вычитания строки. По умолчанию подэлемент sub-line размещается в нижнем правом углу прямоугольника border виджета. В зависимости от ориентации используется ::left-arrow или ::up-arrow. По умолчанию стрелки размещаются по центру области содержимого подэлемента sub-line.

Подэлемент ::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 рисует нативный border, который полностью перекрывает 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 может быть использован для стилизации индикатора. По умолчанию, menu-indicator расположен в нижнем правом углу прямоугольника отступа виджета.

Если QToolButton находится в режиме QToolButton::MenuButtonPopup, подконтроль ::menu-button используется для рисования кнопки меню. Подконтроль ::menu-arrow используется для рисования стрелки меню внутри menu-button. По умолчанию, он расположен в центре прямоугольника содержимого подконтроля menu-button.

Когда QToolButton отображает стрелки, используются подконтроли ::up-arrow, ::down-arrow, ::left-arrow и ::right-arrow.

Предупреждение: Если вы установите только background-color на QToolButton, фон не отобразится, пока вы не установите свойство border в какое-либо значение. Например,

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. Какие значения можно присвоить свойству, зависит от типа свойства. Если не указано иное, свойства ниже применяются ко всем виджетам. Свойства, помеченные звездочкой *, специфичны для 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.

Если это свойство не задано, оно по умолчанию равно цвет (т.е., цвет переднего плана виджета).

Пример:

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-color, border-style, border-width и Модель области.

border-radius Радиус Радиус углов границы. Эквивалентно указанию border-top-left-radius, border-top-right-radius, border-bottom-right-radius, и border-bottom-left-radius.

Радиус границы обрезает фон элемента background.

Это свойство поддерживается подклассами 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-width и Модель области.

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-color, border-style, border-image и Модель области.

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-color, border-radius, border-style, border-image и Модель области.

border-top-width Длина Ширина верхней грани границы.
border-right-width Длина Ширина правой грани границы.
border-bottom-width Длина Ширина нижней грани границы.
border-left-width Длина Ширина левой грани границы.
bottom Длина Если position равно relative (по умолчанию), смещает подэлемент вверх на определённое смещение; указание bottom: y тогда эквивалентно указанию top: -y.

Если position равно absolute, свойство bottom задаёт нижнюю грань подэлемента относительно нижней грани родительского элемента (см. также subcontrol-origin).

Пример:

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

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

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 }

См. также background и selection-color.

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-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 и Модель Box.

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.

Значение относительно прямоугольника содержимого в модели Box.

Пример:

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.

Значение относительно прямоугольника содержимого в модели Box.

Пример:

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.

Если этот параметр не указан, минимальная высота выводится на основе содержимого виджета и стиля.

Значение относительно прямоугольника содержимого в модели Box.

Пример:

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.

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 Длина Если положение равно relative (по умолчанию), перемещает подэлемент на определенное смещение вниз.

Если положение равно 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 PaletteRole Роль background-color для подэлемента или виджета на основе выбранной роли.
-qt-style-features list Список CSS-свойств, к которым нужно применить Qt-специфичные стили.

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

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

Используемые в Qt значки можно настроить с помощью следующих свойств. Каждое из перечисленных свойств имеет тип Значок.

Обратите внимание, что для отображения значков в кнопках в QDialogButtonBox необходимо установить свойство dialogbuttonbox-buttons-have-icons в значение true. Также для настройки размера значков используйте свойство icon-size.

Имя QStyle::StandardPixmap
значок-назад QStyle::SP_ArrowBack
значок-CD 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_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 Draft.

Стиль границы dashed | dot-dash | dot-dot-dash | dotted | double | groove | inset | outset | ridge | solid | none Указывает шаблон, используемый для рисования границы. Подробности см. в Спецификации CSS3 Draft.
Цвета рамки Кисть{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: ширина ex шрифта (т. е. высота '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 Элемент — по умолчанию. Например, default QPushButton или действие по умолчанию в QMenu.
:disabled Элемент отключен.
:editable QComboBox редактируется.
:edit-focus Элемент имеет фокус редактирования (См. QStyle::State_HasEditFocus). Это состояние доступно только для расширенных приложений Qt.
: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 Область между ползунком и add-line в 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 Область между ползунком и sub-line в 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-5.14/stylesheet-reference.html

Spec-Zone.ru

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