Spec-Zone.ru › Qt 5.15

Справочник по стилям 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 Рамку вокруг combobox можно стилизовать с помощью модели блоков. Кнопку выпадающего списка можно стилизовать с помощью подэлемента ::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.

Для элементов с подменю стрелки стилизуются с помощью 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.

Начиная с версии 5.15, свойство icon может быть установлено для переопределения значка кнопки.

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

Предупреждение: Если вы установите только цвет фона для QPushButton, фон может не отобразиться, если не задать свойство рамки. Это происходит потому, что по умолчанию 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 может быть использован для стилизации кнопки, добавляющей строку. По умолчанию подконтроль ::add-line размещается в правом верхнем углу прямоугольника границы виджета. В зависимости от ориентации, используется ::right-arrow или ::down-arrow. По умолчанию стрелки размещаются в центре прямоугольника содержимого подконтроли ::add-line.

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

Когда 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-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 }

См. также width.

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 }
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 }
контур Контур, нарисованный вокруг границы объекта.
контур-цвет Цвет Цвет контура. См. также border-color
смещение-контура Длина Смещение контура от границы виджета.
стиль-контура Задает шаблон, используемый для рисования контура. См. также border-style
радиус-контура Добавляет скругленные углы к контуру.
радиус-контура-вниз-слева Радиус Радиус для скругленного нижнего левого угла контура.
радиус-контура-вниз-справа Радиус Радиус для скругленного нижнего правого угла контура.
радиус-контура-верх-слева Радиус Радиус для верхнего левого угла контура.
радиус-контура-верх-справа Радиус Радиус для верхнего правого угла контура.
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 и 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 Длина Если 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 PaletteRole Роль 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_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-x | repeat-y | repeat | no-repeat Значение, указывающее характер повторения.
  • 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 Элемент выбран. Например, состояние выбран для QAbstractButton.
:closable Элементы могут быть закрыты. Например, для QDockWidget включена функция QDockWidget::DockWidgetClosable.
:closed Элемент в закрытом состоянии. Например, неразвернутый элемент в QTreeView.
: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 Область между ползунком (слайдером) и кнопкой «добавить строку» в 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-5.15/stylesheet-reference.html

Spec-Zone.ru

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