Spec-Zone.ru › Qt 5.11

Справочник по стилям 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 и неисключительное.

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

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

Для элементов с подменю значки стрелок стилизуются с помощью правой стрелки и левой стрелки.

Прокручивающая область стилизуется с помощью ::scroller.

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

См. пример настройки QMenu.

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

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

См. пример настройки QMenuBar.

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

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

В неопределённой полосе прогресса установлено псевдосостояние :indeterminate.

См. пример настройки QProgressBar.

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

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

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

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

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

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

Это свойство поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit и QToolTip.

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

Пример:

QLineEdit {
    border-width: 1px;
    border-style: solid;
    border-radius: 4px;
}

См. также border-width и Модель области.

border-top-left-radius Радиус Радиус верхнего левого угла границы.
border-top-right-radius Радиус Радиус верхнего правого угла границы.
border-bottom-right-radius Радиус Радиус нижнего правого угла границы. Установка этого свойства в положительное значение приводит к закруглённому углу.
border-bottom-left-radius Радиус Радиус нижнего левого угла границы. Установка этого свойства в положительное значение приводит к закруглённому углу.
border-style Стиль границы Стиль всех граней границы.

Это свойство поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit и QToolTip.

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

Пример:

QLineEdit {
    border-width: 1px;
    border-style: solid;
    border-color: blue;
}

См. также border-color, border-style, border-image и Модель области.

border-top-style Стиль границы Стиль верхней грани границы.
border-right-style Стиль границы Стиль правой грани границы/
border-bottom-style Стиль границы Стиль нижней грани границы.
border-left-style Стиль границы Стиль левой грани границы.
border-width Размеры области Ширина границы. Эквивалентно установке border-top-width, border-right-width, border-bottom-width, и border-left-width.

Это свойство поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit и QToolTip.

Пример:

QLineEdit {
    border-width: 2px;
    border-style: solid;
    border-color: darkblue;
}

См. также border-color, border-radius, border-style, border-image и Модель области.

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

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

Пример:

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

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

button-layout Число Макет кнопок в QDialogButtonBox или QMessageBox. Возможные значения: 0 (WinLayout), 1 (MacLayout), 2 (KdeLayout), 3 (GnomeLayout) и 5 (AndroidLayout).

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

Пример:

* { button-layout: 2 }
color Кисть Цвет, используемый для отрисовки текста.

Это свойство поддерживается всеми виджетами, которые учитывают QWidget::palette.

Если это свойство не задано, значение по умолчанию — то, что установлено в палитре виджета для QWidget::foregroundRole (обычно чёрный).

Пример:

QPushButton { color: red }

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

dialogbuttonbox-buttons-have-icons Булево значение Показывать ли значки на кнопках в QDialogButtonBox.

Если это свойство установлено в 1, кнопки QDialogButtonBox показывают значки; если оно установлено в 0, значки не отображаются.

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

QDialogButtonBox { dialogbuttonbox-buttons-have-icons: 1; }

Примечание: Стилям, определяющим это свойство, необходимо применить его до создания QDialogButtonBox; это означает, что вам необходимо применить стиль к родительскому виджету или к самому приложению.

font Шрифт Сокращенная запись для настройки шрифта текста. Эквивалентно указанию font-family, font-size, font-style, и/или font-weight.

Это свойство поддерживается всеми виджетами, которые учитывают QWidget::font.

Если это свойство не задано, значение по умолчанию — QWidget::font.

Пример:

QCheckBox { font: bold italic large "Times New Roman" }
font-family Строка Семейство шрифтов.

Пример:

QCheckBox { font-family: "New Century Schoolbook" }
font-size Размер шрифта Размер шрифта. В этой версии Qt поддерживаются только метрики pt и px.

Пример:

QTextEdit { font-size: 12px }
font-style Стиль шрифта Стиль шрифта.

Пример:

QTextEdit { font-style: italic }
font-weight Начертание шрифта Начертание шрифта.
gridline-color* Цвет Цвет линии сетки в QTableView.

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

Пример:

* { gridline-color: gray }
height Длина Высота подэлемента (или, в некоторых случаях, виджета).

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

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

Пример:

QSpinBox::down-button { height: 10px }

См. также ширину.

icon-size Длина Ширина и высота значка в виджете.

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

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

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

Установка параметра image для подэлементов неявно устанавливает ширину и высоту подэлемента (если изображение не в формате SVG).

В Qt 4.3 и более поздних версиях выравнивание изображения внутри прямоугольника можно указать с помощью image-position.

Этот параметр предназначен только для подэлементов — для других элементов он не поддерживается.

Предупреждение: Для отображения изображений SVG необходим плагин SVG QIcon.

Пример:

// implicitly sets the size of down-button to the
// size of spindown.png
QSpinBox::down-button { image: url(:/images/spindown.png) }
image-position выравнивание В Qt 4.3 и более поздних версиях выравнивание изображения можно указать с помощью относительного или абсолютного положения.
left Длина Если position имеет значение relative (по умолчанию), смещает подэлемент вправо на определенный отступ.

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

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

Пример:

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

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

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

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

Пример:

* { lineedit-password-character: 9679 }
lineedit-password-mask-delay* Число Задержка маски пароля QLineEdit в миллисекундах перед применением lineedit-password-character к видимым символам.

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

Этот параметр был добавлен в Qt 5.4.

Пример:

* { lineedit-password-mask-delay: 1000 }
margin Размеры рамки Отступы виджета. Эквивалентно указанию margin-top, margin-right, margin-bottom, и margin-left.

Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit и QToolTip.

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

Пример:

QLineEdit { margin: 2px }

См. также padding, spacing и Модель Box.

margin-top Длина Верхний отступ виджета.
margin-right Длина Правый отступ виджета.
margin-bottom Длина Нижний отступ виджета.
margin-left Длина Левый отступ виджета.
max-height Длина Максимальная высота виджета или подэлемента.

Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSizeGrip, QSpinBox, QSplitter, QStatusBar, QTextEdit и QToolTip.

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

Пример:

QSpinBox { max-height: 24px }

См. также max-width.

max-width Длина Максимальная ширина виджета или подэлемента.

Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSizeGrip, QSpinBox, QSplitter, QStatusBar, QTextEdit и QToolTip.

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

Пример:

QComboBox { max-width: 72px }

См. также max-height.

messagebox-text-interaction-flags* Число Поведение взаимодействия с текстом в диалоговом окне. Возможные значения основаны на Qt::TextInteractionFlags.

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

Пример:

QMessageBox { messagebox-text-interaction-flags: 5 }
min-height Длина Минимальная высота виджета или подэлемента.

Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSizeGrip, QSpinBox, QSplitter, QStatusBar, QTextEdit и QToolTip.

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

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

Пример:

QComboBox { min-height: 24px }

См. также min-width.

min-width Длина Минимальная ширина виджета или подэлемента.

Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSizeGrip, QSpinBox, QSplitter, QStatusBar, QTextEdit и QToolTip.

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

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

Пример:

QComboBox { min-width: 72px }

См. также min-height.

opacity* Число Непрозрачность виджета. Возможные значения от 0 (прозрачный) до 255 (непрозрачный). Пока это поддерживается только для подсказок.

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

Пример:

QToolTip { opacity: 223 }
outline Контур, нарисованный вокруг границы объекта.
outline-color Цвет Цвет контура. См. также border-color
outline-offset Длина Смещение контура от границы виджета.
outline-style Задает шаблон, используемый для рисования контура. См. также border-style
outline-radius Добавляет закругленные углы к контуру
outline-bottom-left-radius Радиус Радиус для закругленного нижне-левого угла контура.
outline-bottom-right-radius Радиус Радиус для закругленного нижне-правого угла контура.
outline-top-left-radius Радиус Радиус для левого верхнего угла контура.
outline-top-right-radius Радиус Радиус для закругленного верхне-правого угла контура.
padding Размеры поля Отступы виджета. Эквивалентно указанию padding-top, padding-right, padding-bottom, и padding-left.

Этот параметр поддерживается подклассами QAbstractItemView, подклассами QAbstractSpinBox, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QRadioButton, QSplitter, QTextEdit и QToolTip.

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

Пример:

QLineEdit { padding: 3px }

См. также margin, spacing и Модель размещения элементов.

padding-top Длина Верхний отступ виджета.
padding-right Длина Правый отступ виджета.
padding-bottom Длина Нижний отступ виджета.
padding-left Длина Левый отступ виджета.
paint-alternating-row-colors-for-empty-area bool Определяет, рисует ли QTreeView чередующиеся цвета строк для пустой области (т.е. области, где нет элементов).
position relative | absolute Определяет, являются ли смещения, заданные с помощью left, right, top и bottom, относительными или абсолютными координатами.

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

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

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

Пример:

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

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

selection-background-color* Кисть Фон выделенного текста или элементов.

Этот параметр поддерживается всеми виджетами, которые учитывают QWidget::palette и которые отображают выделенный текст.

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

Пример:

QTextEdit { selection-background-color: darkblue }

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

selection-color* Кисть Передний план выделенного текста или элементов.

Этот параметр поддерживается всеми виджетами, которые учитывают QWidget::palette и которые отображают выделенный текст.

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

Пример:

QTextEdit { selection-color: white }

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

show-decoration-selected* Булево Управляет тем, охватывают ли выделения в QListView всю строку или только область текста.

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

Пример:

* { show-decoration-selected: 1 }
spacing* Длина Внутренний отступ в виджете.

Этот параметр поддерживается QCheckBox, флажками QGroupBox, QMenuBar и QRadioButton.

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

Пример:

QMenuBar { spacing: 10 }

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

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

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

Пример:

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

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

subcontrol-position* Выравнивание Выравнивание подэлемента внутри прямоугольника начала, заданного параметром subcontrol-origin.

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

Пример:

QSpinBox::down-button {
    image: url(:/images/spindown.png);
    subcontrol-origin: padding;
    subcontrol-position: right bottom;
}

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

titlebar-show-tooltips-on-buttons} bool Определяет, отображаются ли всплывающие подсказки на кнопках панели заголовка окна.
widget-animation-duration* Число Продолжительность анимации (в миллисекундах). Значение, равное нулю, означает отключение анимаций.

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

Этот параметр был добавлен в Qt 5.10.

Пример:

* { widget-animation-duration: 100 }
text-align Выравнивание Выравнивание текста и значка внутри содержимого виджета.

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

Пример:

QPushButton {
    text-align: left;
}

В данный момент этот параметр поддерживается только QPushButton и QProgressBar.

text-decoration none underline overline line-through Дополнительные эффекты текста
top Длина Если свойство 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, можно настроить с помощью следующих свойств. Каждое из перечисленных свойств имеет тип Значок.

Обратите внимание, что для отображения значков в кнопках в 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.

Стиль границы 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) | #rrggbb | Имя цвета Определяет цвет как RGB (красный, зеленый, синий) или RGBA (красный, зеленый, синий, альфа) или HSV (оттенок, насыщенность, значение) или HSVA (оттенок, насыщенность, значение, альфа) или имя цвета. Синтаксис rgb() или rgba() может использоваться с целочисленными значениями от 0 до 255 или с процентами. Значение s, v и a в hsv() или hsva() должно быть в диапазоне 0–255; значение h должно быть в диапазоне 0–359.

Примеры:

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, 255, 255) }      /* opaque yellow */
QLabel { border-color: hsva(240, 255, 255, 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 Элемент отмечен. Например, состояние 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/archives/qt-5.11/stylesheet-reference.html

Spec-Zone.ru

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