Spec-Zone.ru › Qt

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

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

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

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

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

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

См. пример Настройка QAbstractScrollArea.

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

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

См. пример Настройка QCheckBox.

QColumnView Маркер можно стилизовать, используя свойство image. Индикаторы стрелок можно стилизовать с помощью подэлемента ::left-arrow и ::right-arrow.
QComboBox Рамку вокруг QComboBox можно стилизовать, используя модель области. Кнопку выпадающего списка можно стилизовать, используя подэлемент ::drop-down. По умолчанию кнопка выпадающего списка располагается в верхнем правом углу прямоугольника отступа виджета. Значок стрелки внутри кнопки выпадающего списка можно стилизовать, используя подэлемент ::down-arrow. По умолчанию стрелка размещается в центре прямоугольника содержимого подэлемента выпадающего списка.

См. пример Настройка QComboBox.

QDateEdit См. QSpinBox.
QDateTimeEdit См. QSpinBox.
QDialog Поддерживает только свойства background, background-clip и background-origin.

Предупреждение: Убедитесь, что для вашего пользовательского виджета определена макрос Q_OBJECT.

QDialogButtonBox Макет кнопок может быть изменён с помощью свойства button-layout.
QDockWidget Поддерживает стилизацию области заголовка и кнопок области заголовка при пристыковке.

Граница виджета пристыковки может быть стилизована с помощью свойства border. Подэлемент ::title может использоваться для настройки области заголовка. Кнопки закрытия и перевода в плавающее окно размещаются относительно подэлемента ::title с помощью ::close-button и ::float-button соответственно.

Когда область заголовка расположена вертикально, устанавливается псевдокласс :vertical. Кроме того, в зависимости от QDockWidget::DockWidgetFeature, устанавливаются псевдосостояния :closable, :floatable и :movable.

Примечание: Используйте QMainWindow::separator для стилизации точки изменения размера.

Предупреждение: Стилизация не имеет эффекта, когда QDockWidget не пристыкован, так как Qt использует родные окна верхнего уровня при отстыковке.

См. пример Настройка QDockWidget.

QDoubleSpinBox См. QSpinBox.
QFrame Поддерживает модель области.

Начиная с версии 4.3, установка стиля для QLabel автоматически устанавливает свойство QFrame::frameStyle в QFrame::StyledPanel.

См. пример Настройка QFrame.

QGroupBox Поддерживает модель области. Заголовок может быть стилизован с помощью подэлемента ::title. По умолчанию заголовок размещается в зависимости от QGroupBox::textAlignment.

В случае с проверяемым QGroupBox, заголовок включает индикатор выбора. Индикатор стилизуется с помощью подэлемента ::indicator. Свойство spacing может использоваться для управления расстоянием между текстом и индикатором.

См. пример Настройка QGroupBox.

QHeaderView Поддерживает модель области. Разделы представления заголовка стилизуются с помощью подэлемента ::section. Подэлемент section поддерживает псевдосостояния :middle, :first, :last, :only-one, :next-selected, :previous-selected, :selected и :checked.

Индикатор сортировки может быть стилизован с помощью подэлементов ::up-arrow и ::down-arrow.

См. пример Настройка QHeaderView.

QLabel Поддерживает модель области. Не поддерживает псевдосостояние :hover.

Начиная с версии 4.3, установка стиля для QLabel автоматически устанавливает свойство QFrame::frameStyle в QFrame::StyledPanel.

См. пример Настройка QFrame (QLabel наследуется от QFrame).

QLineEdit Поддерживают модель области.

Цвет и фон выделенного элемента стилизуются соответственно с помощью selection-color и selection-background-color.

Символ пароля может быть стилизован с помощью свойства lineedit-password-character.

Задержка маски пароля может быть изменена с помощью lineedit-password-mask-delay.

См. пример Настройка QLineEdit.

QListView Поддерживает модель области. Когда включены чередующиеся цвета строк, чередующиеся цвета могут быть стилизованы с помощью свойства alternate-background-color.

Цвет и фон выделенного элемента стилизуются соответственно с помощью selection-color и selection-background-color.

Поведение выделения контролируется свойством show-decoration-selected.

Используйте подэлемент ::item для более точного управления элементами в QListView.

См. QAbsractScrollArea для стилизации прокручиваемых фонов.

См. пример Настройка QListView.

QListWidget См. QListView.
QMainWindow Поддерживает стилизацию разделителя

Разделитель в QMainWindow при использовании QDockWidget стилизуется с помощью подэлемента ::separator.

См. пример Настройка QMainWindow.

QMenu Поддерживает модель бокса.

Отдельные пункты стилизуются с помощью подэлемента ::item. Кроме обычно поддерживаемых псевдосостояний, подэлемент ::item поддерживает псевдосостояния :selected, :default, :exclusive и non-exclusive.

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

Разделитель стилизуется с помощью подэлемента ::separator.

Для пунктов с подменю стрелки стилизуются с помощью подэлементов 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, фон может не отобразиться, если не задать свойство border. Это происходит потому, что по умолчанию QPushButton рисует системную границу, которая полностью перекрывает цвет фона. Например,

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

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

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

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

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

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

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

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

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

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

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

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

См. Настройка QToolButton для примера.

QToolBox Поддерживает модель разметки.

Индивидуальные вкладки можно стилизовать с помощью подконтроли ::tab. Вкладки поддерживают псевдосостояния :only-one, :first, :last, :middle, :previous-selected, :next-selected, :selected.

QToolTip Поддерживает модель разметки. Свойство opacity управляет непрозрачностью подсказки.

См. Настройка QFrame для примера (QToolTip является QFrame).

QTreeView Поддерживает модель разметки. При включении альтернативных цветов строк, альтернативные цвета можно стилизовать с помощью свойства alternate-background-color.

Цвет и фон выбранного элемента стилизуются соответственно selection-color и selection-background-color.

Поведение выбора контролируется свойством show-decoration-selected.

Ветви дерева можно стилизовать с помощью подконтроли ::branch. Подконтроль ::branch поддерживает псевдосостояния :open, :closed, :has-sibling и :has-children.

Используйте подконтроль ::item для более тонкого управления элементами в QTreeView.

См. QAbsractScrollArea для стилизации фонов с возможностью прокрутки.

См. Настройка QTreeView для примера стилизации веток.

QTreeWidget См. QTreeView.
QWidget Поддерживает только свойства background, background-clip и background-origin.

Если вы создаете подкласс от QWidget, вам необходимо предоставить обработчик paintEvent для вашего пользовательского QWidget, как показано ниже:

void CustomWidget::paintEvent(QPaintEvent *)
{
    QStyleOption opt;
    opt.init(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}

Приведенный выше код не выполняет никаких действий, если отсутствует стилевое оформление.

Предупреждение: Убедитесь, что вы определили макрос Q_OBJECT для вашего пользовательского виджета.

Список свойств

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

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

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

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

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

Пример:

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

См. также право, верх и низ.

lineedit-password-character* Число Символ пароля QLineEdit в виде числа Unicode.

Если этот параметр не указан, он по умолчанию принимает значение, заданное текущей темой для стилевого подсказки 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, пробелы и Модель области.

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, QToolButton и 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, QToolButton и 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 }

См. также отступ, пробел и Модель размещения.

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

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

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

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

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

Имя QStyle::StandardPixmap
иконка назад QStyle::SP_ArrowBack
иконка компакт-диска QStyle::SP_DriveCDIcon
иконка компьютера QStyle::SP_ComputerIcon
иконка рабочего стола QStyle::SP_DesktopIcon
иконка Применить QStyle::SP_DialogApplyButton
иконка Отмена QStyle::SP_DialogCancelButton
иконка Закрыть QStyle::SP_DialogCloseButton
иконка Отбросить QStyle::SP_DialogDiscardButton
иконка Справка QStyle::SP_DialogHelpButton
иконка Нет QStyle::SP_DialogNoButton
иконка Ок QStyle::SP_DialogOkButton
иконка Открыть QStyle::SP_DialogOpenButton
иконка Сбросить QStyle::SP_DialogResetButton
иконка Сохранить QStyle::SP_DialogSaveButton
иконка Да QStyle::SP_DialogYesButton
иконка закрытой папки QStyle::SP_DirClosedIcon
иконка папки QStyle::SP_DirIcon
иконка ссылки на папку QStyle::SP_DirLinkIcon
иконка открытой папки QStyle::SP_DirOpenIcon
иконка закрытия виджета плавающей панели QStyle::SP_DockWidgetCloseButton
иконка стрелки вниз QStyle::SP_ArrowDown
иконка DVD-диска QStyle::SP_DriveDVDIcon
иконка файла QStyle::SP_FileIcon
иконка ссылки на файл QStyle::SP_FileLinkIcon
иконка содержимого диалога файлов QStyle::SP_FileDialogContentsView
иконка подробного просмотра диалога файлов QStyle::SP_FileDialogDetailedView
иконка конца диалога файлов QStyle::SP_FileDialogEnd
иконка просмотра информации диалога файлов QStyle::SP_FileDialogInfoView
иконка списка диалога файлов QStyle::SP_FileDialogListView
иконка нового каталога диалога файлов QStyle::SP_FileDialogNewFolder
иконка родительского каталога диалога файлов QStyle::SP_FileDialogToParent
иконка начала диалога файлов QStyle::SP_FileDialogStart
иконка дискеты QStyle::SP_DriveFDIcon
иконка вперёд QStyle::SP_ArrowForward
иконка жёсткого диска QStyle::SP_DriveHDIcon
иконка домашней папки QStyle::SP_DirHomeIcon
иконка очистки поля ввода QStyle::SP_LineEditClearButton
иконка стрелки влево QStyle::SP_ArrowLeft
иконка критической ошибки диалогового окна QStyle::SP_MessageBoxCritical
иконка информационного сообщения диалогового окна QStyle::SP_MessageBoxInformation
иконка вопроса диалогового окна QStyle::SP_MessageBoxQuestion
иконка предупреждения диалогового окна QStyle::SP_MessageBoxWarning
иконка сети QStyle::SP_DriveNetIcon
иконка стрелки вправо QStyle::SP_ArrowRight
иконка помощи в строке заголовка QStyle::SP_TitleBarContextHelpButton
иконка максимизации в строке заголовка QStyle::SP_TitleBarMaxButton
иконка меню в строке заголовка QStyle::SP_TitleBarMenuButton
иконка минимизации в строке заголовка QStyle::SP_TitleBarMinButton
иконка обычного окна в строке заголовка QStyle::SP_TitleBarNormalButton
иконка затенённого окна в строке заголовка QStyle::SP_TitleBarShadeButton
иконка разветвления окна в строке заголовка QStyle::SP_TitleBarUnshadeButton
иконка корзины QStyle::SP_TrashIcon
иконка стрелки вверх QStyle::SP_ArrowUp

Список типов свойств

В следующей таблице обобщены синтаксис и значение различных типов свойств.

Тип Синтаксис Описание
Выравнивание { top | bottom | left | right | center }* Горизонтальное и/или вертикальное выравнивание.

Пример:

QTextEdit { background-position: bottom center }
Присоединение { scroll | fixed }* Присоединение прокрутки или фиксированное присоединение.
Фон { Кисть | URL | Повторение | Выравнивание }* Последовательность кистей, URL, повторений и выравниваний.
Булево 0 | 1 Истина (1) или ложь (0).

Пример:

QDialog { etch-disabled-text: 1 }
Граница { Стиль границы | Длина | Кисть }* Сокращенное свойство границы.
Изображение границы none | URL Число{4} (stretch | repeat){0,2} Изображение границы — это изображение, состоящее из девяти частей (верхний левый, верхний центральный, верхний правый, центральный левый, центральный, центральный правый, нижний левый, нижний центральный и нижний правый). Когда требуется граница определенного размера, угловые части используются как есть, а верхняя, правая, нижняя и левая части растягиваются или повторяются для создания границы нужного размера.

Подробности см. в спецификации черновика CSS3.

Стиль границы dashed | dot-dash | dot-dot-dash | dotted | double | groove | inset | outset | ridge | solid | none Указывает шаблон, используемый для рисования границы. Подробности см. в спецификации черновика CSS3.
Цвета рамки Кисть{1,4} От одного до четырех вхождений кисти, задающих верхний, правый, нижний и левый края рамки соответственно. Если левый цвет не указан, он принимается равным правому цвету. Если нижний цвет не указан, он принимается равным верхнему цвету. Если правый цвет не указан, он принимается равным верхнему цвету.

Пример:

QLabel { border-color: red }   /* red red red red */
QLabel { border-color: red blue } /* red blue red blue */
QLabel { border-color: red blue green } /* red blue green blue */
QLabel { border-color: red blue green yellow }
/* red blue green yellow */
Размеры рамки Длина{1,4} От одного до четырех вхождений длины, задающих верхний, правый, нижний и левый края рамки соответственно. Если левая длина не указана, она принимается равной правой длине. Если нижняя длина не указана, она принимается равной верхней длине. Если правая длина не указана, она принимается равной верхней длине.

Примеры:

QLabel { border-width: 1px }                    /* 1px 1px 1px 1px */
QLabel { border-width: 1px 2px }                /* 1px 2px 1px 2px */
QLabel { border-width: 1px 2px 3px }            /* 1px 2px 3px 2px */
QLabel { border-width: 1px 2px 3px 4px }        /* 1px 2px 3px 4px */
Кисть Цвет | Градиент | Роль палитры Задает цвет или градиент или запись в палитре.
Цвет rgb(r, g, b) | rgba(r, g, b, a) | hsv(h, s, v) | hsva(h, s, v, a) | hsl(h, s, l) | hsla(h, s, l, a) | #rrggbb | Имя цвета Задает цвет как RGB (красный, зеленый, синий), RGBA (красный, зеленый, синий, альфа), HSV (оттенок, насыщенность, значение), HSVA (оттенок, насыщенность, значение, альфа), HSL (оттенок, насыщенность, светлость), HSLA (оттенок, насыщенность, светлость, альфа) или имя цвета. Синтаксис rgb() или rgba() может использоваться с целочисленными значениями от 0 до 255 или с процентами. Значение s, v, l и a в hsv(), hsva() hsl() или hsla() должно находиться в диапазоне 0-255 или с процентами, значение h должно находиться в диапазоне 0-359. Поддержка HSL(A) доступна начиная с версии 5.13.

Примеры:

QLabel { border-color: red }                      /* opaque red */
QLabel { border-color: #FF0000 }                  /* opaque red */
QLabel { border-color: rgba(255, 0, 0, 75%) }     /* 75% opaque red */
QLabel { border-color: rgb(255, 0, 0) }           /* opaque red */
QLabel { border-color: rgb(100%, 0%, 0%) }        /* opaque red */
QLabel { border-color: hsv(60, 100%, 100%) }      /* opaque yellow */
QLabel { border-color: hsva(240, 255, 255, 75%) } /* 75% blue */
QLabel { border-color: hsl(60, 100%, 50%) }       /* opaque yellow */
QLabel { border-color: hsla(240, 255, 50%, 75%) } /* 75% blue */

Примечание: Разрешенные цвета RGB совпадают с разрешенными в CSS 2.1, как указано здесь.

Шрифт (Стиль шрифта | Начертание шрифта){0,2} Размер шрифта Строка Сокращенное свойство шрифта.
Размер шрифта Длина Размер шрифта.
Стиль шрифта normal | italic | oblique Стиль шрифта.
Начертание шрифта normal | bold | 100 | 200 ... | 900 Начертание шрифта.
Градиент qlineargradient | qradialgradient | qconicalgradient Задает градиентные заливки. Существует три типа градиентных заливок:
  • Линейные градиенты интерполируют цвета между начальной и конечной точками.
  • Радиальные градиенты интерполируют цвета между фокальной точкой и конечными точками по окружности, окружающей её.
  • Конические градиенты интерполируют цвета вокруг центральной точки.

Градиенты задаются в режиме привязки к объекту. Представьте, что рамка, в которой отрисовывается градиент, имеет левый верхний угол в (0, 0) и правый нижний угол в (1, 1). Параметры градиента затем задаются в процентах от 0 до 1. Эти значения экстраполируются до фактических координат рамки во время выполнения. Можно задавать значения, которые лежат за пределами рамки (-0,6 или 1,8, например).

Предупреждение: Стопы должны появляться в отсортированном порядке по возрастанию.

Примеры:

/* linear gradient from white to green */
QTextEdit {
    background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
                stop:0 white, stop: 0.4 gray, stop:1 green)
}

/* linear gradient from white to green */
QTextEdit {
    background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
                stop:0 white, stop: 0.4 rgba(10, 20, 30, 40),
                stop:1 rgb(0, 200, 230, 200))
}

/* conical gradient from white to green */
QTextEdit {
    background: qconicalgradient(cx:0.5, cy:0.5, angle:30,
                stop:0 white, stop:1 #00FF00)
}

/* radial gradient from white to green */
QTextEdit {
    background: qradialgradient(cx:0, cy:0, radius: 1,
                fx:0.5, fy:0.5, stop:0 white, stop:1 green)
}
Иконка (URL (disabled | active | normal | selected)? (on | off)? )* Список url, QIcon::Mode и QIcon::State.

Пример:

* {
    file-icon: url(file.png),
               url(file_selected.png) selected;
  }

QMessageBox {
    dialogbuttonbox-buttons-have-icons: true;
    dialog-ok-icon: url(ok.svg);
    dialog-cancel-icon: url(cancel.png),
                        url(grayed_cancel.png) disabled;
}
Длина Число (px | pt | em | ex)? Число, за которым следует единица измерения. Стандарт CSS рекомендует, чтобы пользовательские агенты игнорировали объявление с недопустимым значением. В Qt необходимо указывать единицы измерения. Для совместимости со старыми версиями Qt числа без единиц измерения в большинстве случаев рассматриваются как пиксели. Поддерживаемые единицы:
  • px: пиксели
  • pt: размер одной точки (т. е. 1/72 дюйма)
  • em: размер, относящийся к размеру шрифта элемента (например, 2em означает 2 раза размер шрифта)
  • 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-6.2/stylesheet-reference.html

Spec-Zone.ru

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