Spec-Zone.ru › Qt 5.9

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

QLineEdit Поддержка модели области.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Прокрутка стилизуется с помощью ::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 рисует нативную границу, которая полностью перекрывает 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 рисует нативную границу, которая полностью перекрывает 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-radius Радиус Радиус углов рамки. Эквивалентно указанию border-top-left-radius, border-top-right-radius, border-bottom-right-radius, и border-bottom-left-radius.

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

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

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

Пример:

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

См. также ширину рамки и Модель области.

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

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

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

Пример:

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

См. также цвет рамки, стиль рамки, изображение рамки и Модель области.

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

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

Пример:

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

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

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

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

Пример:

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

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

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

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

Пример:

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

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

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

Пример:

QPushButton { color: red }

См. также фон и цвет выделения.

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

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

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

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

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

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

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

Если этот параметр не задан, используется значение по умолчанию QWidget::font.

Пример:

QCheckBox { font: bold italic large "Times New Roman" }
font-family Строка Начертание шрифта.

Пример:

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

Пример:

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

Пример:

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

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

Пример:

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

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

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

Пример:

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

См. также width.

icon-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 в виде кода 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, spacing и Модель области.

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

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

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

Пример:

QSpinBox { max-height: 24px }

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

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

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

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

Пример:

QComboBox { max-width: 72px }

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

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

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

Пример:

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

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

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

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

Пример:

QComboBox { min-height: 24px }

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

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

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

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

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

Пример:

QComboBox { min-width: 72px }

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

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

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

Пример:

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

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

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

Пример:

QLineEdit { padding: 3px }

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

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 и фон.

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.

text-align Выравнивание Выравнивание текста и значка внутри содержимого виджета.

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

Пример:

QPushButton {
    text-align: left;
}

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

text-decoration none underline overline line-through Дополнительные эффекты текста
top Длина Если положение равно relative (по умолчанию), смещает подэлемент на определённое смещение вниз.

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

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

Пример:

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

См. также слева, справа и снизу.

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

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

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

Пример:

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

См. также высота.

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

Используемые в 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 Элемент выбран. Например, состояние выбран у QAbstractButton.
:closable Элементы могут быть закрыты. Например, у QDockWidget включена функция QDockWidget::DockWidgetClosable.
:closed Элемент находится в закрытом состоянии. Например, неразвернутый элемент в QTreeView.
:default Элемент является стандартным. Например, стандартная QPushButton или стандартное действие в QMenu.
:disabled Элемент отключён.
:editable QComboBox редактируемый.
:edit-focus Элемент имеет фокус редактирования (см. QStyle::State_HasEditFocus). Это состояние доступно только для расширенных приложений Qt.
:enabled Элемент включён.
:exclusive Элемент является частью группы элементов с исключительной связью. Например, пункт меню в QActionGroup с исключительной связью.
:first Элемент является первым (в списке). Например, первая вкладка в QTabBar.
:flat Элемент плоский. Например, плоская QPushButton.
:floatable Элементы могут быть откреплены. Например, у QDockWidget включена функция QDockWidget::DockWidgetFloatable.
:focus Элемент имеет фокус ввода.
:has-children Элемент имеет дочерние элементы. Например, элемент в QTreeView, имеющий дочерние элементы.
:has-siblings Элемент имеет родственные элементы. Например, элемент в QTreeView, имеющий родственные элементы.
:horizontal Элемент имеет горизонтальную ориентацию.
:hover Указатель мыши находится над элементом.
:indeterminate Элемент имеет неопределённое состояние. Например, QCheckBox или QRadioButton частично отмечены.
:last Элемент является последним (в списке). Например, последняя вкладка в QTabBar.
:left Элемент расположен слева. Например, QTabBar с вкладками, расположенными слева.
:maximized Элемент максимизирован. Например, QMdiSubWindow, максимизированный.
:middle Элемент находится посередине (в списке). Например, вкладка, не расположенная в начале или в конце QTabBar.
:minimized Элемент минимизирован. Например, QMdiSubWindow, минимизированный.
:movable Элемент может быть перемещён. Например, у QDockWidget включена функция QDockWidget::DockWidgetMovable.
:no-frame Элемент без рамки. Например, QSpinBox или QLineEdit без рамки.
:non-exclusive Элемент входит в группу элементов без исключительной связи. Например, элемент меню в QActionGroup без исключительной связи.
:off Для элементов, которые можно переключать, это относится к элементам в состоянии «выключено».
:on Для элементов, которые можно переключать, это относится к виджетам в состоянии «включено».
:only-one Элемент единственный (в списке). Например, единственная вкладка в QTabBar.
:open Элемент открыт. Например, развернутый элемент в QTreeView, или QComboBox или QPushButton с открытым меню.
:next-selected Следующий элемент (в списке) выбран. Например, выбранная вкладка QTabBar находится рядом с этим элементом.
:pressed Элемент нажимается с помощью мыши.
:previous-selected Предыдущий элемент (в списке) выбран. Например, вкладка в QTabBar, находящаяся рядом с выбранной вкладкой.
:read-only Элемент помечен как только для чтения или нередактируемый. Например, QLineEdit только для чтения или QComboBox, нередактируемый.
:right Элемент расположен справа. Например, QTabBar с вкладками, расположенными справа.
:selected Элемент выбран. Например, выбранная вкладка в QTabBar или выбранный элемент в QMenu.
:top Элемент расположен сверху. Например, QTabBar с вкладками, расположенными сверху.
:unchecked Элемент не выбран.
:vertical Элемент имеет вертикальную ориентацию.
:window Виджет является окном (то есть виджет верхнего уровня)

Список подэлементов

Доступны следующие подэлементы:

Подэлемент управления Описание
::add-line Кнопка для добавления строки в QScrollBar.
::add-page Область между ползунком и элементом «добавить строку» в QScrollBar.
::branch Индикатор ветви в QTreeView.
::chunk Блок прогресса в QProgressBar.
::close-button Кнопка закрытия QDockWidget или вкладки QTabBar.
::corner Угол между двумя полосами прокрутки в QAbstractScrollArea.
::down-arrow Стрелка вниз в QComboBox, QHeaderView (индикатор сортировки), QScrollBar или QSpinBox.
::down-button Кнопка «вниз» в QScrollBar или QSpinBox.
::drop-down Кнопка раскрывающегося списка в QComboBox.
::float-button Плавающая кнопка QDockWidget.
::groove Паз в QSlider.
::indicator Индикатор в QAbstractItemView, QCheckBox, QRadioButton, в маркируемом элементе QMenu или маркируемой области QGroupBox.
::handle Ползунок (QScrollBar), QSplitter или QSlider.
::icon Иконка в QAbstractItemView или QMenu.
::item Элемент QAbstractItemView, QMenuBar, QMenu или QStatusBar.
::left-arrow Стрелка влево в QScrollBar.
::left-corner Левый угол QTabWidget. Например, этот элемент управления позволяет управлять виджетом в левом углу QTabWidget.
::menu-arrow Стрелка в меню QToolButton.
::menu-button Кнопка меню в QToolButton.
::menu-indicator Индикатор меню в QPushButton.
::right-arrow Стрелка вправо в QMenu или QScrollBar.
::pane Панель (QTabWidget).
::right-corner Правый угол QTabWidget. Например, этот элемент управления позволяет управлять виджетом в правом углу QTabWidget.
::scroller Прокрутка в QMenu или QTabBar.
::section Секция в QHeaderView.
::separator Разделитель в QMenu или QMainWindow.
::sub-line Кнопка для вычитания строки в QScrollBar.
::sub-page Область между ползунком и элементом «вычесть строку» в QScrollBar.
::tab Вкладка в QTabBar или QToolBox.
::tab-bar Панель вкладок в QTabWidget. Этот подэлемент управления существует только для управления позицией QTabBar внутри QTabWidget. Для стилизации вкладок используйте подэлемент ::tab.
::tear Индикатор разрыва в QTabBar.
::tearoff Индикатор отрыва в QMenu.
::text Текст в QAbstractItemView.
::title Заголовок QGroupBox или QDockWidget.
::up-arrow Стрелка вверх в QHeaderView (индикатор сортировки), QScrollBar или QSpinBox.
::up-button Кнопка «вверх» в QSpinBox.

См. Настройка индикатора меню QPushButton для примера настройки подэлемента.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/stylesheet-reference.html

Spec-Zone.ru

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