Класс QStyle
Класс QStyle — это абстрактный базовый класс, который инкапсулирует внешний вид и ощущения графического интерфейса пользователя. Подробнее...
| Заголовок: | #include <QStyle> |
| qmake: | QT += widgets |
| Наследуется от: | QObject |
| Наследующие классы: |
Открытые типы
| Перечисление | ComplexControl { CC_SpinBox, CC_ComboBox, CC_ScrollBar, CC_Slider, ..., CC_CustomBase } |
| Перечисление | ContentsType { CT_CheckBox, CT_ComboBox, CT_HeaderSection, CT_LineEdit, ..., CT_MdiControls } |
| Перечисление | ControlElement { CE_PushButton, CE_PushButtonBevel, CE_PushButtonLabel, CE_DockWidgetTitle, ..., CE_ShapedFrame } |
| Перечисление | PixelMetric { PM_ButtonMargin, PM_DockWidgetTitleBarButtonMargin, PM_ButtonDefaultIndicator, PM_MenuButtonIndicator, ..., PM_DefaultLayoutSpacing } |
| Перечисление | PrimitiveElement { PE_FrameStatusBar, PE_PanelButtonCommand, PE_FrameDefaultButton, PE_PanelButtonBevel, ..., PE_PanelMenu } |
| Перечисление | RequestSoftwareInputPanel { RSIP_OnMouseClickAndAlreadyFocused, RSIP_OnMouseClick } |
| Перечисление | StandardPixmap { SP_TitleBarMinButton, SP_TitleBarMenuButton, SP_TitleBarMaxButton, SP_TitleBarCloseButton, ..., SP_CustomBase } |
| Флаги | State |
| Перечисление | StateFlag { State_None, State_Active, State_AutoRaise, State_Children, ..., State_Small } |
| Перечисление | StyleHint { SH_EtchDisabledText, SH_DitherDisabledText, SH_ScrollBar_ContextMenu, SH_ScrollBar_MiddleClickAbsolutePosition, ..., SH_SpinBox_StepModifier } |
| Перечисление | SubControl { SC_None, SC_ScrollBarAddLine, SC_ScrollBarSubLine, SC_ScrollBarAddPage, ..., SC_All } |
| Флаги | SubControls |
| Перечисление | SubElement { SE_PushButtonContents, SE_PushButtonFocusRect, SE_PushButtonLayoutItem, SE_CheckBoxIndicator, ..., SE_ToolBarHandle } |
Открытые функции
| QStyle() | |
| виртуальный | ~QStyle() |
| int | combinedLayoutSpacing(QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption *option = nullptr, QWidget *widget = nullptr) const |
| виртуальный void | drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const = 0 |
| виртуальный void | drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const = 0 |
| виртуальный void | drawItemPixmap(QPainter *painter, const QRect &rectangle, int alignment, const QPixmap &pixmap) const |
| виртуальный void | drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const |
| виртуальный void | drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const = 0 |
| виртуальный QPixmap | generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const = 0 |
| виртуальный QStyle::SubControl | hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = nullptr) const = 0 |
Статические открытые члены
| QRect | alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize &size, const QRect &rectangle) |
| int | sliderPositionFromValue(int min, int max, int logicalValue, int span, bool upsideDown = false) |
| int | sliderValueFromPosition(int min, int max, int position, int span, bool upsideDown = false) |
| Qt::Alignment | visualAlignment(Qt::LayoutDirection direction, Qt::Alignment alignment) |
| QPoint | visualPos(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QPoint &logicalPosition) |
| QRect | visualRect(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QRect &logicalRectangle) |
Подробное описание
Qt содержит набор подклассов QStyle, которые эмулируют стили различных платформ, поддерживаемых Qt (QWindowsStyle, QMacStyle и т. д.). По умолчанию эти стили включены в модуль Qt GUI. Стили также могут быть доступны как плагины.
Встроенные виджеты Qt используют QStyle для выполнения почти всех операций рисования, гарантируя, что они выглядят точно так же, как эквивалентные родные виджеты. На диаграмме ниже показан виджет QComboBox в девяти разных стилях.
Темы:
Установка стиля
Стиль всего приложения можно установить с помощью функции QApplication::setStyle(). Его также может указать пользователь приложения, используя параметр командной строки -style:
./myapplication -style windows
Если стиль не указан, Qt выберет наиболее подходящий стиль для платформы или среды рабочего стола пользователя.
Стиль также можно установить на отдельный виджет с помощью функции QWidget::setStyle().
Разработка виджетов с поддержкой стиля
Если вы разрабатываете пользовательские виджеты и хотите, чтобы они выглядели хорошо на всех платформах, вы можете использовать функции QStyle для выполнения частей рисования виджета, таких как drawItemText(), drawItemPixmap(), drawPrimitive(), drawControl() и drawComplexControl().
Большинство функций рисования QStyle принимают четыре аргумента:
- значение перечисления, указывающее графический элемент для рисования
- QStyleOption, определяющий, как и где отображать этот элемент
- QPainter, который следует использовать для рисования элемента
- виджет QWidget, на котором выполняется рисование (необязательно)
Например, если вы хотите нарисовать прямоугольник фокуса на вашем виджете, вы можете написать:
void MyWidget::paintEvent(QPaintEvent * /* event */)
{
QPainter painter(this);
QStyleOptionFocusRect option;
option.initFrom(this);
option.backgroundColor = palette().color(QPalette::Background);
style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this);
} QStyle получает всю необходимую информацию для отображения графического элемента из объекта QStyleOption. Виджет передается в качестве последнего аргумента в том случае, если стилю необходимо выполнить особые эффекты (например, анимированные кнопки по умолчанию в macOS), но это необязательно. Фактически, вы можете использовать QStyle для рисования на любом устройстве рисования, а не только на виджетах, правильно настроив QPainter.
QStyleOption имеет различные подклассы для различных типов графических элементов, которые могут быть нарисованы. Например, PE_FrameFocusRect ожидает аргумент QStyleOptionFocusRect.
Для обеспечения максимальной скорости операций рисования QStyleOption и его подклассы имеют открытые члены данных. Подробности использования см. в документации класса QStyleOption.
Для удобства Qt предоставляет класс QStylePainter, который объединяет QStyle, QPainter и QWidget. Это позволяет написать
QStylePainter painter(this);
...
painter.drawPrimitive(QStyle::PE_FrameFocusRect, option); вместо
QPainter painter(this);
...
style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this); Создание пользовательского стиля
Вы можете создать пользовательский вид и ощущения для своего приложения, создав пользовательский стиль. Существует два подхода к созданию пользовательского стиля. В статическом подходе вы либо выбираете существующий класс QStyle, наследуете от него и переопределяете виртуальные функции для предоставления пользовательского поведения, либо создаете целый класс QStyle с нуля. В динамическом подходе вы изменяете поведение системного стиля во время выполнения. Статический подход описан ниже. Динамический подход описан в QProxyStyle.
Первым шагом в статическом подходе является выбор одного из стилей, предоставляемых Qt, на основе которого вы будете создавать свой пользовательский стиль. Ваш выбор класса QStyle будет зависеть от того, какой стиль наиболее похож на желаемый стиль. Наиболее общим классом, который вы можете использовать в качестве базового, является QCommonStyle (а не QStyle). Это связано с тем, что Qt требует, чтобы его стили были QCommonStyle.
В зависимости от того, какие части базового стиля вы хотите изменить, необходимо переопределить функции, которые используются для рисования этих частей интерфейса. Чтобы проиллюстрировать это, мы изменим вид стрелок для спин-бокса, нарисованных QWindowsStyle. Стрелки — это _примитивные элементы_, которые рисуются функцией drawPrimitive(), поэтому нам нужно переопределить эту функцию. Нам нужен следующий объявление класса:
class CustomStyle : public QProxyStyle
{
Q_OBJECT
public:
CustomStyle();
~CustomStyle() {}
void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
QPainter *painter, const QWidget *widget) const override;
}; Чтобы нарисовать свои стрелки вверх и вниз, QSpinBox использует примитивные элементы PE_IndicatorSpinUp и PE_IndicatorSpinDown. Вот как переопределить функцию drawPrimitive() для их рисования по-другому:
void CustomStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option,
QPainter *painter, const QWidget *widget) const
{
if (element == PE_IndicatorSpinUp || element == PE_IndicatorSpinDown) {
QPolygon points(3);
int x = option->rect.x();
int y = option->rect.y();
int w = option->rect.width() / 2;
int h = option->rect.height() / 2;
x += (option->rect.width() - w) / 2;
y += (option->rect.height() - h) / 2;
if (element == PE_IndicatorSpinUp) {
points[0] = QPoint(x, y + h);
points[1] = QPoint(x + w, y + h);
points[2] = QPoint(x + w / 2, y);
} else { // PE_SpinBoxDown
points[0] = QPoint(x, y);
points[1] = QPoint(x + w, y);
points[2] = QPoint(x + w / 2, y + h);
}
if (option->state & State_Enabled) {
painter->setPen(option->palette.mid().color());
painter->setBrush(option->palette.buttonText());
} else {
painter->setPen(option->palette.buttonText().color());
painter->setBrush(option->palette.mid());
}
painter->drawPolygon(points);
} else {
QProxyStyle::drawPrimitive(element, option, painter, widget);
}
} Обратите внимание, что мы не используем аргумент widget, за исключением его передачи функции QWindowStyle::drawPrimitive(). Как упоминалось ранее, информация о том, что нужно нарисовать и как это должно быть нарисовано, задается объектом QStyleOption, поэтому нет необходимости спрашивать у виджета.
Если вам необходимо использовать аргумент widget для получения дополнительной информации, будьте внимательны, чтобы убедиться, что он не равен 0 и что он имеет правильный тип перед его использованием. Например:
const QSpinBox *spinBox = qobject_cast<const QSpinBox *>(widget);
if (spinBox) {
...
} При реализации пользовательского стиля вы не можете предполагать, что виджет является QSpinBox только потому, что значение перечисления называется PE_IndicatorSpinUp или PE_IndicatorSpinDown.
Документация для примера Styles подробно рассматривает эту тему.
Предупреждение: В настоящее время таблицы стилей Qt не поддерживаются для пользовательских подклассов QStyle. Мы планируем решить эту проблему в будущих выпусках.
Использование пользовательского стиля
Существует несколько способов использования пользовательского стиля в приложении Qt. Самый простой способ — передать пользовательский стиль статической функции QApplication::setStyle() перед созданием объекта QApplication:
#include <QtWidgets>
#include "customstyle.h"
int main(int argc, char *argv[])
{
QApplication::setStyle(new CustomStyle);
QApplication app(argc, argv);
QSpinBox spinBox;
spinBox.show();
return app.exec();
} Вы можете вызвать QApplication::setStyle() в любое время, но вызывая ее до конструктора, вы гарантируете, что предпочтение пользователя, установленное с помощью параметра командной строки -style, будет учтено.
Возможно, вы захотите сделать свой пользовательский стиль доступным для использования в других приложениях, которые могут не принадлежать вам и, следовательно, недоступны для перекомпиляции. Система плагинов Qt позволяет создавать стили в качестве плагинов. Созданные в виде плагинов стили загружаются как общие объекты во время выполнения самим Qt. Для получения дополнительной информации о создании плагина стиля см. документацию по плагинам Qt.
Скомпилируйте свой плагин и поместите его в каталог Qt plugins/styles. Теперь у нас есть подключаемый стиль, который Qt может загрузить автоматически. Чтобы использовать новый стиль с существующими приложениями, просто запустите приложение со следующим аргументом:
./myapplication -style custom
Приложение будет использовать внешний вид, определённый в пользовательском стиле.
Рабочие столы с расположением справа налево
Языки, написанные справа налево (например, арабский и иврит), обычно также отображают всю компоновку виджетов и требуют, чтобы свет исходил из правого верхнего угла экрана, а не из левого верхнего.
Если вы создаете пользовательский стиль, вам следует уделить особое внимание при рисовании асимметричных элементов, чтобы убедиться, что они также отображаются правильно в зеркальном макете. Легкий способ проверки ваших стилей — запустить приложения с параметром командной строки -reverse или вызвать QApplication::setLayoutDirection() в своей функции main().
Вот некоторые моменты, которые следует учитывать при создании стиля, который хорошо работает в среде справа налево:
- subControlRect() и subElementRect() возвращают прямоугольники в координатах экрана
- QStyleOption::direction указывает, в каком направлении следует отображать элемент
- Если стиль не учитывает расположение справа налево, он будет отображать элементы так, как если бы это было расположение слева направо
- visualRect(), visualPos() и visualAlignment() — полезные функции, которые преобразуют представление от логического к экранному
- alignedRect() вернет логический прямоугольник, выровненный для текущего направления
Стили в представлениях элементов
Отрисовка элементов в представлениях выполняется делегатом. По умолчанию Qt использует делегат QStyledItemDelegate для расчета ограничительных прямоугольников элементов и их подэлементов для различных типов ролей данных элементов ItemDataRole, поддерживаемых QStyledItemDelegate. См. описание класса QStyledItemDelegate, чтобы узнать, какие типы данных и роли поддерживаются. Более подробно о ролях данных элементов можно прочитать в разделе Программирование модели/представления.
При отрисовке элементов QStyledItemDelegate рисует CE_ItemViewItem и вычисляет их размер с помощью CT_ItemViewItem. Обратите также внимание, что для установки размера редакторов используется SE_ItemViewItemText. При реализации стиля для настройки отрисовки представлений элементов необходимо проверить реализацию QCommonStyle (и любых других подклассов, от которых наследуется ваш стиль). Таким образом, вы узнаете, какие и как другие элементы стиля отрисовываются, а затем можете переопределить отрисовку элементов, которые должны быть нарисованы по-другому.
Мы включаем небольшой пример, где мы настраиваем отрисовку фонов элементов.
switch (element) {
case (PE_PanelItemViewItem): {
painter->save();
QPoint topLeft = option->rect.topLeft();
QPoint bottomRight = option->rect.topRight();
QLinearGradient backgroundGradient(topLeft, bottomRight);
backgroundGradient.setColorAt(0.0, QColor(Qt::yellow).lighter(190));
backgroundGradient.setColorAt(1.0, Qt::white);
painter->fillRect(option->rect, QBrush(backgroundGradient));
painter->restore();
break;
}
default:
QProxyStyle::drawPrimitive(element, option, painter, widget);
} Примитивный элемент PE_PanelItemViewItem отвечает за отрисовку фона элементов и вызывается из реализации QCommonStyle элемента CE_ItemViewItem.
Для добавления поддержки отрисовки новых типов данных и ролей данных элементов необходимо создать пользовательский делегат. Но если вам нужно только поддерживать типы данных, реализованные стандартным делегатом, пользовательский стиль не нуждается в сопровождающем делегате. Более подробную информацию о пользовательских делегатах см. в описании класса QStyledItemDelegate.
Отрисовка заголовков представлений элементов также выполняется стилем, предоставляя контроль над размером элементов заголовков и размерами строк и столбцов.
См. также QStyleOption, QStylePainter, Styles Example, Стили и стилизуемые виджеты, QStyledItemDelegate и Стиль.
Документация по типам членов
enum QStyle::ComplexControl
Этот перечисление описывает доступные сложные элементы управления. Сложные элементы управления ведут себя по-разному в зависимости от того, где пользователь нажимает или какие клавиши нажимаются.
| Постоянная | Значение | Описание |
|---|---|---|
QStyle::CC_SpinBox |
0 |
Поле ввода со списком, подобно QSpinBox. |
QStyle::CC_ComboBox |
1 |
Комбо-поле, подобно QComboBox. |
QStyle::CC_ScrollBar |
2 |
Полоса прокрутки, подобно QScrollBar. |
QStyle::CC_Slider |
3 |
Ползунок, подобно QSlider. |
QStyle::CC_ToolButton |
4 |
Кнопка инструмента, подобно QToolButton. |
QStyle::CC_TitleBar |
5 |
Панель заголовка, например, используемые в QMdiSubWindow. |
QStyle::CC_GroupBox |
7 |
Группа, подобная QGroupBox. |
QStyle::CC_Dial |
6 |
Циферблат, подобный QDial. |
QStyle::CC_MdiControls |
8 |
Кнопки минимизации, закрытия и нормального размера в строке меню для максимального окна MDI. |
QStyle::CC_CustomBase |
0xf0000000 |
Базовое значение для пользовательских сложных элементов управления. Пользовательские значения должны быть больше этого значения. |
См. также SubControl и drawComplexControl().
enum QStyle::ContentsType
Это перечисление описывает доступные типы содержимого. Они используются для вычисления размеров содержимого различных виджетов.
См. также sizeFromContents().
enum QStyle::ControlElement
Это перечисление представляет собой элемент управления. Элемент управления — это часть виджета, которая выполняет какое-либо действие или отображает информацию пользователю.
| Постоянная | Значение | Описание |
|---|---|---|
QStyle::CE_PushButton |
0 |
Кнопка QPushButton, рисует CE_PushButtonBevel, CE_PushButtonLabel и PE_FrameFocusRect. |
QStyle::CE_PushButtonBevel |
1 |
Выступ и индикатор по умолчанию для кнопки QPushButton. |
QStyle::CE_PushButtonLabel |
2 |
Метка (иконка с текстом или пиктограммой) кнопки QPushButton. |
QStyle::CE_DockWidgetTitle |
30 |
Заголовок окна-дока. |
QStyle::CE_Splitter |
28 |
Маркер разделителя; см. также QSplitter. |
QStyle::CE_CheckBox |
3 |
Флажок QCheckBox, рисует PE_IndicatorCheckBox, CE_CheckBoxLabel и PE_FrameFocusRect. |
QStyle::CE_CheckBoxLabel |
4 |
Метка (текст или пиктограмма) флажка QCheckBox. |
QStyle::CE_RadioButton |
5 |
Радиокнопка QRadioButton, рисует PE_IndicatorRadioButton, CE_RadioButtonLabel и PE_FrameFocusRect. |
QStyle::CE_RadioButtonLabel |
6 |
Метка (текст или пиктограмма) радиокнопки QRadioButton. |
QStyle::CE_TabBarTab |
7 |
Вкладка и метка в QTabBar. |
QStyle::CE_TabBarTabShape |
8 |
Форма вкладки в строке вкладок. |
QStyle::CE_TabBarTabLabel |
9 |
Метка на вкладке. |
QStyle::CE_ProgressBar |
10 |
Полоса прогресса QProgressBar, рисует CE_ProgressBarGroove, CE_ProgressBarContents и CE_ProgressBarLabel. |
QStyle::CE_ProgressBarGroove |
11 |
Паз, где отображается индикатор прогресса в QProgressBar. |
QStyle::CE_ProgressBarContents |
12 |
Индикатор прогресса в QProgressBar. |
QStyle::CE_ProgressBarLabel |
13 |
Текстовая метка QProgressBar. |
QStyle::CE_ToolButtonLabel |
22 |
Метка инструментальной кнопки. |
QStyle::CE_MenuBarItem |
20 |
Элемент меню в QMenuBar. |
QStyle::CE_MenuBarEmptyArea |
21 |
Пустая область QMenuBar. |
QStyle::CE_MenuItem |
14 |
Элемент меню в QMenu. |
QStyle::CE_MenuScroller |
15 |
Области прокрутки в QMenu, если стиль поддерживает прокрутку. |
QStyle::CE_MenuTearoff |
18 |
Элемент меню, представляющий отрывной раздел QMenu. |
QStyle::CE_MenuEmptyArea |
19 |
Область меню без элементов меню. |
QStyle::CE_MenuHMargin |
17 |
Дополнительное горизонтальное пространство слева/справа в меню. |
QStyle::CE_MenuVMargin |
16 |
Дополнительное вертикальное пространство сверху/снизу в меню. |
QStyle::CE_ToolBoxTab |
26 |
Вкладка и метка панели инструментов QToolBox. |
QStyle::CE_SizeGrip |
27 |
Маркер изменения размера окна; см. также QSizeGrip. |
QStyle::CE_Header |
23 |
Заголовок. |
QStyle::CE_HeaderSection |
24 |
Раздел заголовка. |
QStyle::CE_HeaderLabel |
25 |
Метка заголовка. |
QStyle::CE_ScrollBarAddLine |
31 |
Индикатор увеличения полосы прокрутки (т.е. вниз); см. также QScrollBar. |
QStyle::CE_ScrollBarSubLine |
32 |
Индикатор уменьшения полосы прокрутки (т.е. вверх). |
QStyle::CE_ScrollBarAddPage |
33 |
Индикатор увеличения страницы полосы прокрутки (т.е. вниз страницы). |
QStyle::CE_ScrollBarSubPage |
34 |
Индикатор уменьшения страницы полосы прокрутки (т.е. вверх страницы). |
QStyle::CE_ScrollBarSlider |
35 |
Ползунок полосы прокрутки. |
QStyle::CE_ScrollBarFirst |
36 |
Индикатор первой строки полосы прокрутки (т.е. начало). |
QStyle::CE_ScrollBarLast |
37 |
Индикатор последней строки полосы прокрутки (т.е. конец). |
QStyle::CE_RubberBand |
29 |
Резиновая полоса, используемая, например, в представлении иконок. |
QStyle::CE_FocusFrame |
38 |
Рамка фокуса, управляемая стилем. |
QStyle::CE_ItemViewItem |
45 |
Элемент в представлении элементов. |
QStyle::CE_CustomBase |
0xf0000000 |
Базовое значение для пользовательских элементов управления; пользовательские значения должны быть больше этого значения. |
QStyle::CE_ComboBoxLabel |
39 |
Метка нередактируемого QComboBox. |
QStyle::CE_ToolBar |
40 |
Панель инструментов, например QToolBar. |
QStyle::CE_ToolBoxTabShape |
41 |
Форма вкладки панели инструментов. |
QStyle::CE_ToolBoxTabLabel |
42 |
Метка вкладки панели инструментов. |
QStyle::CE_HeaderEmptyArea |
43 |
Область представления заголовка без разделов заголовка. |
QStyle::CE_ShapedFrame |
46 |
Рамка с формой, заданной в QStyleOptionFrame; см. QFrame. |
См. также drawControl().
перечисление QStyle::PixelMetric
Это перечисление описывает различные доступные пиксельметрики. Пиксельметрика — это зависящая от стиля величина размера, представленная одним значением пикселя.
| Константа | Значение | Описание |
|---|---|---|
QStyle::PM_ButtonMargin |
0 |
Количество пробелов между метками кнопок и рамкой. |
QStyle::PM_DockWidgetTitleBarButtonMargin |
76 |
Количество пробелов между метками кнопок панели заголовка виджета док-станции и рамкой. |
QStyle::PM_ButtonDefaultIndicator |
1 |
Ширина рамки индикатора кнопки по умолчанию. |
QStyle::PM_MenuButtonIndicator |
2 |
Ширина индикатора кнопки меню, пропорциональная высоте виджета. |
QStyle::PM_ButtonShiftHorizontal |
3 |
Горизонтальное смещение содержимого кнопки при нажатии. |
QStyle::PM_ButtonShiftVertical |
4 |
Вертикальное смещение содержимого кнопки при нажатии. |
QStyle::PM_DefaultFrameWidth |
5 |
Ширина рамки по умолчанию (обычно 2). |
QStyle::PM_SpinBoxFrameWidth |
6 |
Ширина рамки поля ввода со списком, по умолчанию равна PM_DefaultFrameWidth. |
QStyle::PM_ComboBoxFrameWidth |
7 |
Ширина рамки выпадающего списка, по умолчанию равна PM_DefaultFrameWidth. |
QStyle::PM_MDIFrameWidth |
PM_MdiSubWindowFrameWidth |
Устарело. Используйте PM_MdiSubWindowFrameWidth вместо этого. |
QStyle::PM_MdiSubWindowFrameWidth |
44 |
Ширина рамки окна MDI. |
QStyle::PM_MDIMinimizedWidth |
PM_MdiSubWindowMinimizedWidth |
Устарело. Используйте PM_MdiSubWindowMinimizedWidth вместо этого. |
QStyle::PM_MdiSubWindowMinimizedWidth |
45 |
Ширина минимизированного окна MDI. |
QStyle::PM_LayoutLeftMargin |
78 |
По умолчанию левый отступ для QLayout. |
QStyle::PM_LayoutTopMargin |
79 |
По умолчанию верхний отступ для QLayout. |
QStyle::PM_LayoutRightMargin |
80 |
По умолчанию правый отступ для QLayout. |
QStyle::PM_LayoutBottomMargin |
81 |
По умолчанию нижний отступ для QLayout. |
QStyle::PM_LayoutHorizontalSpacing |
82 |
По умолчанию горизонтальный интервал для QLayout. |
QStyle::PM_LayoutVerticalSpacing |
83 |
По умолчанию вертикальный интервал для QLayout. |
QStyle::PM_MenuPanelWidth |
30 |
Ширина границы (применяется ко всем сторонам) для QMenu. |
QStyle::PM_MenuHMargin |
28 |
Дополнительная граница (используется слева и справа) для QMenu. |
QStyle::PM_MenuVMargin |
29 |
Дополнительная граница (используется для нижней и верхней частей) для QMenu. |
QStyle::PM_MenuScrollerHeight |
27 |
Высота области полосы прокрутки в QMenu. |
QStyle::PM_MenuTearoffHeight |
31 |
Высота области отрыва в QMenu. |
QStyle::PM_MenuDesktopFrameWidth |
32 |
Ширина рамки меню на рабочем столе. |
QStyle::PM_HeaderMarkSize |
47 |
Размер индикатора сортировки в заголовке. |
QStyle::PM_HeaderGripMargin |
48 |
Размер маркера изменения размера в заголовке. |
QStyle::PM_HeaderMargin |
46 |
Размер отступа между индикатором сортировки и текстом. |
QStyle::PM_SpinBoxSliderHeight |
58 |
Высота слайдера дополнительного поля ввода. |
QStyle::PM_ToolBarIconSize |
62 |
Размер значка панели инструментов по умолчанию |
QStyle::PM_SmallIconSize |
65 |
Размер маленького значка по умолчанию |
QStyle::PM_LargeIconSize |
66 |
Размер большого значка по умолчанию |
QStyle::PM_FocusFrameHMargin |
68 |
Горизонтальный отступ, на который рамка фокуса будет выдвигать виджет. |
QStyle::PM_FocusFrameVMargin |
67 |
Вертикальный отступ, на который рамка фокуса будет выдвигать виджет. |
QStyle::PM_IconViewIconSize |
64 |
Размер значков по умолчанию в представлении значков. |
QStyle::PM_ListViewIconSize |
63 |
Размер значков по умолчанию в представлении списка. |
QStyle::PM_ToolTipLabelFrameWidth |
69 |
Ширина рамки метки подсказки. |
QStyle::PM_CheckBoxLabelSpacing |
70 |
Отступ между индикатором и меткой флажка. |
QStyle::PM_RadioButtonLabelSpacing |
77 |
Отступ между индикатором и меткой радиокнопки. |
QStyle::PM_TabBarIconSize |
71 |
Размер значка по умолчанию для панели вкладок. |
QStyle::PM_SizeGripSize |
72 |
Размер маркера изменения размера. |
QStyle::PM_MessageBoxIconSize |
74 |
Размер стандартных значков в окне сообщения. |
QStyle::PM_ButtonIconSize |
75 |
Размер значков кнопок по умолчанию. |
QStyle::PM_TextCursorWidth |
85 |
Ширина курсора в строке редактирования или поле редактирования текста. |
QStyle::PM_TabBar_ScrollButtonOverlap |
84 |
Расстояние между кнопками слева и справа на панели вкладок. |
QStyle::PM_TabCloseIndicatorWidth |
86 |
Стандартная ширина кнопки закрытия вкладки на панели вкладок. |
QStyle::PM_TabCloseIndicatorHeight |
87 |
Стандартная высота кнопки закрытия вкладки на панели вкладок. |
QStyle::PM_ScrollView_ScrollBarSpacing |
88 |
Расстояние между рамкой и полосой прокрутки при установке SH_ScrollView_FrameOnlyAroundContents. |
QStyle::PM_ScrollView_ScrollBarOverlap |
89 |
Перекрытие между полосами прокрутки и содержимым прокрутки |
QStyle::PM_SubMenuOverlap |
90 |
Горизонтальное перекрытие между подменю и его родителем. |
QStyle::PM_TreeViewIndentation |
91 |
Отступ элементов в представлении дерева. Это значение перечисления было введено в Qt 5.4. |
QStyle::PM_HeaderDefaultSectionSizeHorizontal |
92 |
Размер полей по умолчанию в горизонтальном заголовке. Это значение перечисления было введено в Qt 5.5. |
QStyle::PM_HeaderDefaultSectionSizeVertical |
93 |
Размер полей по умолчанию в вертикальном заголовке. Это значение перечисления было введено в Qt 5.5. |
QStyle::PM_TitleBarButtonIconSize |
94 |
Размер значков кнопок на строке заголовка. Это значение перечисления было введено в Qt 5.8. |
QStyle::PM_TitleBarButtonSize |
95 |
Базовое значение для пользовательских пиксельных метрик. Пользовательские значения должны быть больше этого значения. |
Следующие значения устарели:
| Константа | Значение | Описание |
|---|---|---|
QStyle::PM_DefaultTopLevelMargin |
59 |
Используйте PM_LayoutLeftMargin, PM_LayoutTopMargin, PM_LayoutRightMargin и PM_LayoutBottomMargin вместо этого. |
QStyle::PM_DefaultChildMargin |
60 |
Используйте PM_LayoutLeftMargin, PM_LayoutTopMargin, PM_LayoutRightMargin и PM_LayoutBottomMargin вместо этого. |
QStyle::PM_DefaultLayoutSpacing |
61 |
Используйте PM_LayoutHorizontalSpacing и PM_LayoutVerticalSpacing вместо этого. |
См. также pixelMetric().
enum QStyle::PrimitiveElement
Это перечисление описывает различные примитивные элементы. Примитивный элемент — это распространённый элемент графического интерфейса, например, индикатор флажка или фаска кнопки.
| Постоянная | Значение | Описание |
|---|---|---|
QStyle::PE_FrameStatusBar |
PE_FrameStatusBarItem |
Устарело. Используйте PE_FrameStatusBarItem вместо этого. |
QStyle::PE_PanelButtonCommand |
13 |
Кнопка, используемая для инициирования действия, например, QPushButton. |
QStyle::PE_FrameDefaultButton |
1 |
Эта рамка вокруг стандартной кнопки, например, в диалоговом окне. |
QStyle::PE_PanelButtonBevel |
14 |
Общий элемент управления с наклоном кнопки. |
QStyle::PE_PanelButtonTool |
15 |
Панель для кнопки инструмента, используемой с QToolButton. |
QStyle::PE_PanelLineEdit |
18 |
Панель для QLineEdit. |
QStyle::PE_IndicatorButtonDropDown |
24 |
Индикатор раскрывающегося списка, например, кнопки инструмента, отображающей меню. |
QStyle::PE_FrameFocusRect |
3 |
Общий индикатор фокуса. |
QStyle::PE_IndicatorArrowUp |
22 |
Общий символ вверх. |
QStyle::PE_IndicatorArrowDown |
19 |
Общий символ вниз. |
QStyle::PE_IndicatorArrowRight |
21 |
Общий символ вправо. |
QStyle::PE_IndicatorArrowLeft |
20 |
Общий символ влево. |
QStyle::PE_IndicatorSpinUp |
35 |
Символ вверх для виджета спинбоксов, например, QSpinBox. |
QStyle::PE_IndicatorSpinDown |
32 |
Символ вниз для виджета спинбоксов. |
QStyle::PE_IndicatorSpinPlus |
34 |
Символ увеличения для виджета спинбоксов. |
QStyle::PE_IndicatorSpinMinus |
33 |
Символ уменьшения для виджета спинбоксов. |
QStyle::PE_IndicatorItemViewItemCheck |
25 |
Индикатор включено/выключено для элемента представления. |
QStyle::PE_IndicatorCheckBox |
26 |
Индикатор включено/выключено, например, QCheckBox. |
QStyle::PE_IndicatorRadioButton |
31 |
Эксклюзивный индикатор включено/выключено, например, QRadioButton. |
QStyle::PE_IndicatorDockWidgetResizeHandle |
27 |
Маркер изменения размера для окон привязки. |
QStyle::PE_Frame |
0 |
Общая рамка |
QStyle::PE_FrameMenu |
6 |
Рамка для всплывающих окон/меню; см. также QMenu. |
QStyle::PE_PanelMenuBar |
16 |
Панель для строчек меню. |
QStyle::PE_PanelScrollAreaCorner |
40 |
Панель в правом нижнем (или левом нижнем) углу области прокрутки. |
QStyle::PE_FrameDockWidget |
2 |
Рамка панели для окон привязки и панелей инструментов. |
QStyle::PE_FrameTabWidget |
8 |
Рамка для виджетов вкладок. |
QStyle::PE_FrameLineEdit |
5 |
Рамка панели для строчек редактирования. |
QStyle::PE_FrameGroupBox |
4 |
Рамка панели вокруг групповых коробок. |
QStyle::PE_FrameButtonBevel |
10 |
Рамка панели для наклона кнопки. |
QStyle::PE_FrameButtonTool |
11 |
Рамка панели для кнопки инструмента. |
QStyle::PE_IndicatorHeaderArrow |
28 |
Стрелка, используемая для обозначения сортировки в заголовке списка или таблицы. |
QStyle::PE_FrameStatusBarItem |
7 |
Рамка для элемента строки состояния; см. также QStatusBar. |
QStyle::PE_FrameWindow |
9 |
Рамка вокруг окна MDI или окна привязки. |
QStyle::PE_IndicatorMenuCheckMark |
29 |
Отметка галочки, используемая в меню. |
QStyle::PE_IndicatorProgressChunk |
30 |
Секция индикатора полосы прогресса; см. также QProgressBar. |
QStyle::PE_IndicatorBranch |
23 |
Линии, используемые для представления ветви дерева в представлении дерева. |
QStyle::PE_IndicatorToolBarHandle |
36 |
Маркер панели инструментов. |
QStyle::PE_IndicatorToolBarSeparator |
37 |
Разделитель на панели инструментов. |
QStyle::PE_PanelToolBar |
17 |
Панель для панели инструментов. |
QStyle::PE_PanelTipLabel |
38 |
Панель для метки подсказки. |
QStyle::PE_FrameTabBarBase |
12 |
Рамка, отображаемая для панели вкладок, обычно отображается для панели вкладок, которая не является частью виджета вкладок. |
QStyle::PE_IndicatorTabTear |
39 |
Устарело. Используйте PE_IndicatorTabTearLeft вместо этого. |
QStyle::PE_IndicatorTabTearLeft |
PE_IndicatorTabTear |
Индикатор того, что вкладка частично скрыта слева от видимой панели вкладок, когда вкладок много. |
QStyle::PE_IndicatorTabTearRight |
49 |
Индикатор того, что вкладка частично скрыта справа от видимой панели вкладок, когда вкладок много. |
QStyle::PE_IndicatorColumnViewArrow |
42 |
Стрелка в QColumnView. |
QStyle::PE_Widget |
41 |
Простой QWidget. |
QStyle::PE_CustomBase |
0xf000000 |
Базовое значение для пользовательских примитивных элементов. Все значения выше этого зарезервированы для пользовательского использования. Пользовательские значения должны быть больше этого значения. |
QStyle::PE_IndicatorItemViewItemDrop |
43 |
Индикатор, отображаемый для отображения места, где элемент в представлении элементов собирается быть помещённым во время операции перетаскивания и падения в представлении элементов. |
QStyle::PE_PanelItemViewItem |
44 |
Фон элемента в представлении элементов. |
QStyle::PE_PanelItemViewRow |
45 |
Фон строки в представлении элементов. |
QStyle::PE_PanelStatusBar |
46 |
Панель для строки состояния. |
QStyle::PE_IndicatorTabClose |
47 |
Кнопка закрытия на панели вкладок. |
QStyle::PE_PanelMenu |
48 |
Панель для меню. |
См. также drawPrimitive().
перечисление QStyle::RequestSoftwareInputPanel
Это перечисление описывает условия, при которых виджеты, способные вводить данные, запрашивают панель ввода программного обеспечения.
| Постоянная | Значение | Описание |
|---|---|---|
QStyle::RSIP_OnMouseClickAndAlreadyFocused |
0 |
Запрашивает панель ввода, если пользователь щелкает по виджету, но только если он уже сфокусирован. |
QStyle::RSIP_OnMouseClick |
1 |
Запрашивает панель ввода, если пользователь щелкает по виджету. |
См. также QInputMethod.
перечисление QStyle::StandardPixmap
Этот перечисление описывает доступные стандартные пиксы. Стандартный пикс — это пикс, который может следовать некоторому существующему стилю или руководству по GUI.
| Постоянная | Значение | Описание |
|---|---|---|
QStyle::SP_TitleBarMinButton |
1 |
Кнопка минимизации на заголовках окон (например, в QMdiSubWindow). |
QStyle::SP_TitleBarMenuButton |
0 |
Кнопка меню на заголовке окна. |
QStyle::SP_TitleBarMaxButton |
2 |
Кнопка максимизации на заголовках окон. |
QStyle::SP_TitleBarCloseButton |
3 |
Кнопка закрытия на заголовках окон. |
QStyle::SP_TitleBarNormalButton |
4 |
Кнопка восстановления (свёрнутого) окна на заголовках окон. |
QStyle::SP_TitleBarShadeButton |
5 |
Кнопка сворачивания окна на заголовках окон. |
QStyle::SP_TitleBarUnshadeButton |
6 |
Кнопка разворачивания окна на заголовках окон. |
QStyle::SP_TitleBarContextHelpButton |
7 |
Кнопка справки по контексту на заголовках окон. |
QStyle::SP_MessageBoxInformation |
9 |
Иконка «информация». |
QStyle::SP_MessageBoxWarning |
10 |
Иконка «предупреждение». |
QStyle::SP_MessageBoxCritical |
11 |
Иконка «критическая ошибка». |
QStyle::SP_MessageBoxQuestion |
12 |
Иконка «вопрос». |
QStyle::SP_DesktopIcon |
13 |
Иконка «рабочий стол». |
QStyle::SP_TrashIcon |
14 |
Иконка «корзина». |
QStyle::SP_ComputerIcon |
15 |
Иконка «Мой компьютер». |
QStyle::SP_DriveFDIcon |
16 |
Иконка дискеты. |
QStyle::SP_DriveHDIcon |
17 |
Иконка жёсткого диска. |
QStyle::SP_DriveCDIcon |
18 |
Иконка CD. |
QStyle::SP_DriveDVDIcon |
19 |
Иконка DVD. |
QStyle::SP_DriveNetIcon |
20 |
Иконка сети. |
QStyle::SP_DirHomeIcon |
56 |
Иконка домашнего каталога. |
QStyle::SP_DirOpenIcon |
21 |
Иконка открытой папки. |
QStyle::SP_DirClosedIcon |
22 |
Иконка закрытой папки. |
QStyle::SP_DirIcon |
38 |
Иконка папки. |
QStyle::SP_DirLinkIcon |
23 |
Иконка ссылки на папку. |
QStyle::SP_DirLinkOpenIcon |
24 |
Иконка ссылки на открытую папку. |
QStyle::SP_FileIcon |
25 |
Иконка файла. |
QStyle::SP_FileLinkIcon |
26 |
Иконка ссылки на файл. |
QStyle::SP_FileDialogStart |
29 |
Иконка «начать» в диалоге выбора файла. |
QStyle::SP_FileDialogEnd |
30 |
Иконка «конец» в диалоге выбора файла. |
QStyle::SP_FileDialogToParent |
31 |
Иконка «родительская папка» в диалоге выбора файла. |
QStyle::SP_FileDialogNewFolder |
32 |
Иконка «создать новую папку» в диалоге выбора файла. |
QStyle::SP_FileDialogDetailedView |
33 |
Иконка детального просмотра в диалоге выбора файла. |
QStyle::SP_FileDialogInfoView |
34 |
Иконка информации о файле в диалоге выбора файла. |
QStyle::SP_FileDialogContentsView |
35 |
Иконка просмотра содержимого в диалоге выбора файла. |
QStyle::SP_FileDialogListView |
36 |
Иконка списка в диалоге выбора файла. |
QStyle::SP_FileDialogBack |
37 |
Стрелка «назад» в диалоге выбора файла. |
QStyle::SP_DockWidgetCloseButton |
8 |
Кнопка закрытия в окнах док-станции (см. также QDockWidget). |
QStyle::SP_ToolBarHorizontalExtensionButton |
27 |
Кнопка расширения для горизонтальных панелей инструментов. |
QStyle::SP_ToolBarVerticalExtensionButton |
28 |
Кнопка расширения для вертикальных панелей инструментов. |
QStyle::SP_DialogOkButton |
39 |
Иконка стандартной кнопки «ОК» в QDialogButtonBox. |
QStyle::SP_DialogCancelButton |
40 |
Иконка стандартной кнопки «Отмена» в QDialogButtonBox. |
QStyle::SP_DialogHelpButton |
41 |
Иконка стандартной кнопки «Справка» в QDialogButtonBox. |
QStyle::SP_DialogOpenButton |
42 |
Иконка стандартной кнопки «Открыть» в QDialogButtonBox. |
QStyle::SP_DialogSaveButton |
43 |
Иконка стандартной кнопки «Сохранить» в QDialogButtonBox. |
QStyle::SP_DialogCloseButton |
44 |
Иконка стандартной кнопки «Закрыть» в QDialogButtonBox. |
QStyle::SP_DialogApplyButton |
45 |
Иконка стандартной кнопки «Применить» в QDialogButtonBox. |
QStyle::SP_DialogResetButton |
46 |
Иконка стандартной кнопки «Сбросить» в QDialogButtonBox. |
QStyle::SP_DialogDiscardButton |
47 |
Иконка стандартной кнопки «Отменить» в QDialogButtonBox. |
QStyle::SP_DialogYesButton |
48 |
Иконка стандартной кнопки «Да» в QDialogButtonBox. |
QStyle::SP_DialogNoButton |
49 |
Иконка стандартной кнопки «Нет» в QDialogButtonBox. |
QStyle::SP_ArrowUp |
50 |
Иконка стрелки, направленной вверх. |
QStyle::SP_ArrowDown |
51 |
Иконка стрелки, направленной вниз. |
QStyle::SP_ArrowLeft |
52 |
Иконка стрелки, направленной влево. |
QStyle::SP_ArrowRight |
53 |
Иконка стрелки, направленной вправо. |
QStyle::SP_ArrowBack |
54 |
Эквивалентно SP_ArrowLeft, когда текущее направление макета — Qt::LeftToRight, иначе SP_ArrowRight. |
QStyle::SP_ArrowForward |
55 |
Эквивалентно SP_ArrowRight, когда текущее направление макета — Qt::LeftToRight, иначе SP_ArrowLeft. |
QStyle::SP_CommandLink |
57 |
Иконка, используемая для указания значка команды в стиле Vista. |
QStyle::SP_VistaShield |
58 |
Иконка, используемая для указания запросов UAC в Windows Vista. Вернёт пустую растровую картинку или иконку на других платформах. |
QStyle::SP_BrowserReload |
59 |
Иконка, указывающая на необходимость перезагрузки текущей страницы. |
QStyle::SP_BrowserStop |
60 |
Значок, указывающий на то, что загрузка страницы должна остановиться. |
QStyle::SP_MediaPlay |
61 |
Значок, указывающий на то, что воспроизведение медиа должно начаться. |
QStyle::SP_MediaStop |
62 |
Значок, указывающий на то, что воспроизведение медиа должно остановиться. |
QStyle::SP_MediaPause |
63 |
Значок, указывающий на то, что воспроизведение медиа должно приостановиться. |
QStyle::SP_MediaSkipForward |
64 |
Значок, указывающий на то, что медиа должно перемотать вперёд. |
QStyle::SP_MediaSkipBackward |
65 |
Значок, указывающий на то, что медиа должно перемотать назад. |
QStyle::SP_MediaSeekForward |
66 |
Значок, указывающий на то, что медиа должно перемотать вперёд. |
QStyle::SP_MediaSeekBackward |
67 |
Значок, указывающий на то, что медиа должно перемотать назад. |
QStyle::SP_MediaVolume |
68 |
Значок, указывающий на регулятор громкости. |
QStyle::SP_MediaVolumeMuted |
69 |
Значок, указывающий на регулятор громкости в выключенном состоянии. |
QStyle::SP_LineEditClearButton |
70 |
Значок стандартной кнопки очистки в QLineEdit. Это значение перечисления было добавлено в Qt 5.2. |
QStyle::SP_CustomBase |
0xf0000000 |
Базовое значение для пользовательских стандартных значков; пользовательские значения должны быть больше этого значения. |
См. также standardIcon().
enum QStyle::StateFlagflags QStyle::State
Это перечисление описывает флаги, используемые при рисовании примитивных элементов.
Обратите внимание, что не все примитивы используют все эти флаги, и флаги могут означать разные вещи для разных элементов.
| Постоянная | Значение | Описание |
|---|---|---|
QStyle::State_None |
0x00000000 |
Указывает, что у виджета нет состояния. |
QStyle::State_Active |
0x00010000 |
Указывает, что виджет активен. |
QStyle::State_AutoRaise |
0x00001000 |
Используется для указания, следует ли использовать внешний вид автоматического подъёма на кнопке инструмента. |
QStyle::State_Children |
0x00080000 |
Используется для указания наличия дочерних элементов в ветке элемента списка. |
QStyle::State_DownArrow |
0x00000040 |
Используется для указания, должен ли быть виден вниз стрелка на виджете. |
QStyle::State_Editing |
0x00400000 |
Используется для указания, открыт ли редактор на виджете. |
QStyle::State_Enabled |
0x00000001 |
Используется для указания, разрешён ли виджет. |
QStyle::State_HasEditFocus |
0x01000000 |
Используется для указания, имеет ли виджет в данный момент фокус редактирования. |
QStyle::State_HasFocus |
0x00000100 |
Используется для указания, имеет ли виджет фокус. |
QStyle::State_Horizontal |
0x00000080 |
Используется для указания, расположен ли виджет горизонтально, например, панель инструментов. |
QStyle::State_KeyboardFocusChange |
0x00800000 |
Используется для указания, было ли изменение фокуса с помощью клавиатуры, например, Tab, Backtab или сочетания клавиш. |
QStyle::State_MouseOver |
0x00002000 |
Используется для указания, находится ли виджет под курсором мыши. |
QStyle::State_NoChange |
0x00000010 |
Используется для указания трёхсостоятельного флажка. |
QStyle::State_Off |
0x00000008 |
Используется для указания, не выбран ли виджет. |
QStyle::State_On |
0x00000020 |
Используется для указания, выбран ли виджет. |
QStyle::State_Raised |
0x00000002 |
Используется для указания, приподнята ли кнопка. |
QStyle::State_ReadOnly |
0x02000000 |
Используется для указания, является ли виджет только для чтения. |
QStyle::State_Selected |
0x00008000 |
Используется для указания, выбран ли виджет. |
QStyle::State_Item |
0x00100000 |
Используется элементами списка для указания, должна ли быть нарисована горизонтальная ветвь. |
QStyle::State_Open |
0x00040000 |
Используется элементами списка для указания, открыта ли ветвь дерева. |
QStyle::State_Sibling |
0x00200000 |
Используется элементами списка для указания, должна ли быть нарисована вертикальная линия (для братьев). |
QStyle::State_Sunken |
0x00000004 |
Используется для указания, находится ли виджет вдавлен или нажат. |
QStyle::State_UpArrow |
0x00004000 |
Используется для указания, должна ли быть видна стрелка вверх на виджете. |
QStyle::State_Mini |
0x08000000 |
Используется для указания мини-стиля виджета или кнопки Mac. |
QStyle::State_Small |
0x04000000 |
Используется для указания малого стиля виджета или кнопки Mac. |
Тип State — это typedef для QFlags<StateFlag>. Он хранит сочетание значений StateFlag.
См. также drawPrimitive().
enum QStyle::StyleHint
Это перечисление описывает доступные подсказки стиля. Подсказка стиля — это общая подсказка внешнего вида и/или ощущения.
END_OF_DOCUMENT_MARKER| Константа | Значение | Описание |
|---|---|---|
QStyle::SH_EtchDisabledText |
0 |
Отключенный текст "гравируется", как на Windows. |
QStyle::SH_DitherDisabledText |
1 |
Отключенный текст полутоновый, как на Motif. |
QStyle::SH_ScrollBar_ContextMenu |
62 |
Наличие контекстного меню в полосе прокрутки. |
QStyle::SH_ScrollBar_MiddleClickAbsolutePosition |
2 |
Логическое значение. Если true, двойной щелчок по полосе прокрутки перемещает ползунок в данную позицию. Если false, двойной щелчок игнорируется. |
QStyle::SH_ScrollBar_LeftClickAbsolutePosition |
39 |
Логическое значение. Если true, щелчок по полосе прокрутки перемещает ползунок в данную позицию. Если false, щелчок будет обрабатываться соответствующим образом для каждого элемента управления. |
QStyle::SH_ScrollBar_ScrollWhenPointerLeavesControl |
3 |
Логическое значение. Если true, при нажатии на полосу прокрутки SubControl, удерживании нажатой кнопки мыши и перемещении указателя за пределы SubControl, полоса прокрутки продолжает прокрутку. Если false, полоса прокрутки прекращает прокрутку, когда указатель выходит за пределы SubControl. |
QStyle::SH_ScrollBar_RollBetweenButtons |
63 |
Логическое значение. Если true, при нажатии на кнопку полосы прокрутки (SC_ScrollBarAddLine или SC_ScrollBarSubLine) и перетаскивании к противоположной кнопке (прокрутка) нажимается новая кнопка и отпускается старая. Если false, отпускается исходная кнопка и ничего не происходит (как у кнопки). |
QStyle::SH_TabBar_Alignment |
5 |
Выравнивание вкладок в QTabWidget. Возможные значения: Qt::AlignLeft, Qt::AlignCenter и Qt::AlignRight. |
QStyle::SH_Header_ArrowAlignment |
6 |
Позиционирование индикатора сортировки в заголовках списков или таблиц. Возможные значения — значения Qt::Alignment (т. е. объединение флагов Qt::AlignmentFlag). |
QStyle::SH_Slider_SnapToValue |
7 |
Ползунки при перемещении "прилипают" к значениям, как на Windows. |
QStyle::SH_Slider_SloppyKeyEvents |
8 |
Обработка нажатий клавиш неточна; например, нажатие влево на вертикальном ползунке уменьшает строку. |
QStyle::SH_ProgressDialog_CenterCancelButton |
9 |
Центрирование кнопки на диалогах выполнения, в остальных случаях — выравнивание по правому краю. |
QStyle::SH_ProgressDialog_TextLabelAlignment |
10 |
Выравнивание текстовых меток на диалогах выполнения; Qt::AlignCenter на Windows, Qt::AlignVCenter в противном случае. |
QStyle::SH_PrintDialog_RightAlignButtons |
11 |
Выравнивание кнопок по правому краю в диалоге печати, как на Windows. |
QStyle::SH_MainWindow_SpaceBelowMenuBar |
12 |
Один или два пикселя между строкой меню и областью размещения, как на Windows. |
QStyle::SH_FontDialog_SelectAssociatedText |
13 |
Выделение текста в строке редактирования или при выборе элемента из списка, или при получении строки редактирования фокуса, как на Windows. |
QStyle::SH_Menu_KeyboardSearch |
66 |
Ввод текста инициирует поиск соответствующих пунктов меню; в противном случае учитывается только мнемоническая запись. |
QStyle::SH_Menu_AllowActiveAndDisabled |
14 |
Позволяет активировать отключенные элементы меню. |
QStyle::SH_Menu_SpaceActivatesItem |
15 |
Нажатие клавиши пробела активирует элемент, как на Motif. |
QStyle::SH_Menu_SubMenuPopupDelay |
16 |
Количество миллисекунд ожидания перед открытием подменю (256 на Windows, 96 на Motif). |
QStyle::SH_Menu_Scrollable |
30 |
Поддержка прокрутки всплывающих меню. |
QStyle::SH_Menu_SloppySubMenus |
33 |
Поддержка перемещения курсора мыши в подменю при пересечении других пунктов меню. Поддерживается на большинстве современных настольных платформ. |
QStyle::SH_Menu_SubMenuUniDirection |
106 |
С Qt 5.5. Если курсор должен перемещаться к подменю (как на macOS) или если курсор может перемещаться в любом направлении, пока не достигнет подменю до истечения временного интервала. |
QStyle::SH_Menu_SubMenuUniDirectionFailCount |
107 |
С Qt 5.5. Когда определен SH_Menu_SubMenuUniDirection, этот перечисление определяет количество неудачных перемещений мыши перед тем, как подменю с неточным управлением будет отброшено. Это может использоваться для управления "строгостью" алгоритма с единым направлением. |
QStyle::SH_Menu_SubMenuSloppySelectOtherActions |
108 |
С Qt 5.5. Следует ли выбирать другие пункты действий, когда мышь перемещается к подменю с неточным управлением. |
QStyle::SH_Menu_SubMenuSloppyCloseTimeout |
109 |
С Qt 5.5. Временной интервал, используемый для закрытия подменю с неточным управлением. |
QStyle::SH_Menu_SubMenuResetWhenReenteringParent |
110 |
С Qt 5.5. При входе в родительское подменю из дочернего, следует ли сбросить состояние с неточным управлением, эффективно закрывая дочернее и делая текущее подменю активным. |
QStyle::SH_Menu_SubMenuDontStartSloppyOnLeave |
111 |
С Qt 5.5. Не следует ли запускать таймеры неточного управления, когда мышь выходит из подменю. |
QStyle::SH_ScrollView_FrameOnlyAroundContents |
17 |
Отображение рамки прокручиваемых областей только вокруг содержимого (как в Motif) или вокруг содержимого, полос прокрутки и угловых виджетов (как в Windows). |
QStyle::SH_MenuBar_AltKeyNavigation |
18 |
Элементы строки меню доступны для навигации при нажатии Alt, а затем с помощью клавиш со стрелками для выбора необходимого элемента. |
QStyle::SH_ComboBox_ListMouseTracking |
19 |
Отслеживание перемещения мыши в выпадающих списках раскрывающихся списков. |
QStyle::SH_Menu_MouseTracking |
20 |
Отслеживание перемещения мыши во всплывающих меню. |
QStyle::SH_MenuBar_MouseTracking |
21 |
Отслеживание перемещения мыши в строке меню. |
QStyle::SH_Menu_FillScreenWithScroll |
45 |
Всплывающие меню при прокрутке должны заполнять весь экран. |
QStyle::SH_Menu_SelectionWrap |
74 |
Всплывающие меню должны допускать циклическое переключение выделений; то есть выделенный элемент должен стать первым. |
QStyle::SH_ItemView_ChangeHighlightOnFocus |
22 |
Отключение выделенных элементов при потере фокуса. |
QStyle::SH_Widget_ShareActivation |
23 |
Включение совместной активации с плавающими модальными диалогами. |
QStyle::SH_TabBar_SelectMouseType |
4 |
Тип события мыши, вызывающий выбор вкладки. |
QStyle::SH_ListViewExpand_SelectMouseType |
40 |
Тип события мыши, вызывающий выбор расширения списка. |
QStyle::SH_TabBar_PreferNoArrows |
38 |
Предлагает ли панель вкладок размер, чтобы избежать стрелок прокрутки. |
QStyle::SH_ComboBox_Popup |
25 |
Позволяет использовать всплывающие меню в качестве выпадающего списка раскрывающегося списка. |
QStyle::SH_Workspace_FillSpaceOnMaximize |
24 |
Рабочая область должна максимизировать клиентскую область. |
QStyle::SH_TitleBar_NoBorder |
26 |
Заголовок окна без рамки. |
QStyle::SH_ScrollBar_StopMouseOverSlider |
SH_Slider_StopMouseOverSlider |
Устарело. Используйте SH_Slider_StopMouseOverSlider вместо этого. |
QStyle::SH_Slider_StopMouseOverSlider |
27 |
Останавливает автоматическое повторение, когда ползунок достигает позиции указателя мыши. |
QStyle::SH_BlinkCursorWhenTextSelected |
28 |
Включение/выключение мигания курсора при выделении текста. |
QStyle::SH_RichText_FullWidthSelection |
29 |
Определяет, должны ли выделения richtext расширяться на всю ширину документа. |
QStyle::SH_GroupBox_TextLabelVerticalAlignment |
31 |
Как выровнять по вертикали текстовую метку групповой рамки. |
QStyle::SH_GroupBox_TextLabelColor |
32 |
Как рисовать текстовую метку групповой рамки. |
QStyle::SH_DialogButtons_DefaultButton |
36 |
Какая кнопка получает состояние по умолчанию в виджете кнопок диалога. |
QStyle::SH_ToolBox_SelectedPageTitleBold |
37 |
Жирность выбранного заголовка страницы в QToolBox. |
QStyle::SH_LineEdit_PasswordCharacter |
35 |
Символ Юникода, используемый для паролей. |
QStyle::SH_LineEdit_PasswordMaskDelay |
104 |
Определяет задержку перед маскированием видимого символа символом пароля в миллисекундах. Это значение перечисления было добавлено в Qt 5.4. |
QStyle::SH_Table_GridLineColor |
34 |
Значение RGB сетки для таблицы. |
QStyle::SH_UnderlineShortcut |
41 |
Определяет, подчеркиваются ли сочетания клавиш. |
QStyle::SH_SpellCheckUnderlineStyle |
72 |
Устарело. Используйте подсказку SpellCheckUnderlineStyle в QPlatformTheme вместо этого. |
QStyle::SH_SpinBox_AnimateButton |
42 |
Анимировать щелчок при нажатии клавиш вверх или вниз в спинбоксе. |
QStyle::SH_SpinBox_KeyPressAutoRepeatRate |
43 |
Интервал автоповтора для нажатий клавиш спинбокса. |
QStyle::SH_SpinBox_ClickAutoRepeatRate |
44 |
Интервал автоповтора для щелчков мышью спинбокса. |
QStyle::SH_SpinBox_ClickAutoRepeatThreshold |
84 |
Порог автоповтора для щелчков мышью спинбокса. |
QStyle::SH_ToolTipLabel_Opacity |
46 |
Целое число, указывающее непрозрачность метки подсказки; 0 — полностью прозрачная, 255 — полностью непрозрачная. |
QStyle::SH_DrawMenuBarSeparator |
47 |
Указывает, рисует ли строка меню разделители. |
QStyle::SH_TitleBar_ModifyNotification |
48 |
Указывает, должна ли строка заголовка отображать «*» для изменённых окон. |
QStyle::SH_Button_FocusPolicy |
49 |
Политика фокуса по умолчанию для кнопок. |
QStyle::SH_CustomBase |
0xf0000000 |
Базовое значение для пользовательских подсказок стиля. Пользовательские значения должны быть больше этого значения. |
QStyle::SH_MessageBox_UseBorderForButtonSpacing |
50 |
Булево значение, указывающее, использовать ли границу кнопок (вычисляется как половина высоты кнопки) для отступа кнопки в диалоговом окне. |
QStyle::SH_MessageBox_CenterButtons |
73 |
Булево значение, указывающее, должны ли кнопки в диалоговом окне центрироваться (см. QDialogButtonBox::setCentered()). |
QStyle::SH_MessageBox_TextInteractionFlags |
70 |
Булево значение, указывающее, должно ли содержимое текстовой области диалогового окна допускать пользовательские взаимодействия (например, выбор) или нет. |
QStyle::SH_TitleBar_AutoRaise |
51 |
Булево значение, указывающее, должны ли элементы управления на строке заголовка обновляться при наведении курсора на них. |
QStyle::SH_ToolButton_PopupDelay |
52 |
Целое число, указывающее задержку всплытия в миллисекундах для меню, прикреплённых к кнопкам инструментов. |
QStyle::SH_FocusFrame_Mask |
53 |
Маска рамки фокуса. |
QStyle::SH_RubberBand_Mask |
54 |
Маска резинового прямоугольника. |
QStyle::SH_WindowFrame_Mask |
55 |
Маска рамки окна. |
QStyle::SH_SpinControls_DisableOnBounds |
56 |
Определяет, будут ли элементы управления спином отображаться как отключенные при достижении границ диапазона спина. |
QStyle::SH_Dial_BackgroundRole |
57 |
Определяет предпочтительную роль фона стиля (как QPalette::ColorRole) для виджета шкалы. |
QStyle::SH_ComboBox_LayoutDirection |
58 |
Направление макета для раскрывающегося списка. По умолчанию оно должно совпадать с указанным переменной QStyleOption::direction. |
QStyle::SH_ItemView_EllipsisLocation |
59 |
Место, куда должны быть добавлены многоточия для текста элемента, который слишком длинный, чтобы поместиться в элементе отображения. |
QStyle::SH_ItemView_ShowDecorationSelected |
60 |
При выборе элемента в представлении элементов также подсвечивается ветвь или другая декорация. |
QStyle::SH_ItemView_ActivateItemOnSingleClick |
61 |
Срабатывает сигнал activated, когда пользователь выполняет одиночный щелчок мышью по элементу в представлении элементов. В противном случае сигнал срабатывает при двойном щелчке по элементу. |
QStyle::SH_Slider_AbsoluteSetButtons |
64 |
Какие кнопки мыши устанавливают значение ползунка в положение, по которому щелкнули. |
QStyle::SH_Slider_PageSetButtons |
65 |
Какие кнопки мыши вызывают перелистывание значения ползунка. |
QStyle::SH_TabBar_ElideMode |
67 |
Стиль обрезки по умолчанию для панели вкладок. |
QStyle::SH_DialogButtonLayout |
68 |
Управляет тем, как кнопки выстраиваются в QDialogButtonBox; возвращает перечисление QDialogButtonBox::ButtonLayout. |
QStyle::SH_WizardStyle |
79 |
Управляет внешним видом QWizard. Возвращает перечисление QWizard::WizardStyle. |
QStyle::SH_FormLayoutWrapPolicy |
86 |
По умолчанию задает, как строки оборачиваются в QFormLayout. Возвращает перечисление QFormLayout::RowWrapPolicy. |
QStyle::SH_FormLayoutFieldGrowthPolicy |
89 |
По умолчанию задает, как поля могут увеличиваться в QFormLayout. Возвращает перечисление QFormLayout::FieldGrowthPolicy. |
QStyle::SH_FormLayoutFormAlignment |
90 |
По умолчанию задает, как QFormLayout выравнивает содержимое внутри доступного пространства. Возвращает перечисление Qt::Alignment. |
QStyle::SH_FormLayoutLabelAlignment |
91 |
По умолчанию задает, как QFormLayout выравнивает метки внутри доступного пространства. Возвращает перечисление Qt::Alignment. |
QStyle::SH_ItemView_ArrowKeysNavigateIntoChildren |
80 |
Определяет, будет ли представление дерева выбирать первый дочерний элемент при его раскрытии и нажатии правой стрелки. |
QStyle::SH_ComboBox_PopupFrameStyle |
69 |
Стиль рамки, используемый при рисовании всплывающего меню combobox. |
QStyle::SH_DialogButtonBox_ButtonsHaveIcons |
71 |
Указывает, должны ли стандартные кнопки в QDialogButtonBox иметь значки или нет. |
QStyle::SH_ItemView_MovementWithoutUpdatingSelection |
75 |
Представление элементов может указывать текущий элемент без изменения выбора. |
QStyle::SH_ToolTip_Mask |
76 |
Маска подсказки. |
QStyle::SH_FocusFrame_AboveWidget |
77 |
Рамка фокуса расположена поверх виджета, на который она «фокусируется». |
QStyle::SH_TextControl_FocusIndicatorTextCharFormat |
78 |
Указывает формат текста, используемый для выделения фокусированных якорей в документах с форматированием текста, например, в QTextBrowser. Формат должен быть QTextCharFormat, возвращаемым в варианте QStyleHintReturnVariant. Свойство QTextFormat::OutlinePen используется для контура, а QTextFormat::BackgroundBrush — для фона выделенной области. |
QStyle::SH_Menu_FlashTriggeredItem |
82 |
Элемент, на который срабатывает эффект вспышки. |
QStyle::SH_Menu_FadeOutOnHide |
83 |
Скрыть меню плавно, вместо мгновенного скрытия. |
QStyle::SH_TabWidget_DefaultTabPosition |
87 |
Позиция панели вкладок в виджете вкладок по умолчанию. |
QStyle::SH_ToolBar_Movable |
88 |
Определяет, может ли панель инструментов перемещаться по умолчанию. |
QStyle::SH_ItemView_PaintAlternatingRowColorsForEmptyArea |
85 |
Определяет, рисует ли QTreeView чередующиеся цвета строк для области, не содержащей элементов. |
QStyle::SH_Menu_Mask |
81 |
Маска для всплывающего меню. |
QStyle::SH_ItemView_DrawDelegateFrame |
92 |
Определяет, нужен ли фрейм для виджета делегата. |
QStyle::SH_TabBar_CloseButtonPosition |
93 |
Определяет позицию кнопки закрытия на вкладке в панели вкладок. |
QStyle::SH_DockWidget_ButtonsHaveFrame |
94 |
Определяет, должны ли кнопки виджетов-доков иметь рамки. По умолчанию — true. |
QStyle::SH_ToolButtonStyle |
95 |
Определяет стиль системы по умолчанию для кнопок инструментов, использующих Qt::ToolButtonFollowStyle. |
QStyle::SH_RequestSoftwareInputPanel |
96 |
Определяет, когда виджеты ввода должны запрашивать программную панель ввода. Возвращает перечисление типа QStyle::RequestSoftwareInputPanel. |
QStyle::SH_ScrollBar_Transient |
97 |
Определяет, поддерживает ли стиль временные полосы прокрутки. Временные полосы прокрутки появляются при прокрутке содержимого и исчезают, когда они больше не нужны. |
QStyle::SH_Menu_SupportsSections |
98 |
Определяет, отображает ли стиль секции в меню или рассматривает их как обычные разделители. Секции — это разделители с подсказкой текста и значка. |
QStyle::SH_ToolTip_WakeUpDelay |
99 |
Определяет задержку (в миллисекундах) перед отображением всплывающей подсказки. |
QStyle::SH_ToolTip_FallAsleepDelay |
100 |
Определяет задержку (в миллисекундах) перед тем, как потребуется новое время пробуждения при отображении всплывающей подсказки (обратите внимание: отображении, а не скрытии). Если новое время пробуждения не требуется, всплывающая подсказка по запросу пользователя будет показана практически мгновенно. |
QStyle::SH_Widget_Animate |
101 |
Устарело. Используйте SH_Widget_Animation_Duration вместо этого. |
QStyle::SH_Splitter_OpaqueResize |
102 |
Определяет, будут ли виджеты динамически изменены в размерах (непрозрачно) во время интерактивного перемещения разделителя. Это значение перечисления было введено в Qt 5.2. |
QStyle::SH_TabBar_ChangeCurrentDelay |
105 |
Определяет задержку (в миллисекундах) перед изменением текущей вкладки при перетаскивании над панелью вкладок. Это значение перечисления было введено в Qt 5.4. |
QStyle::SH_ItemView_ScrollMode |
112 |
Режим прокрутки по умолчанию по вертикали и горизонтали, как указано стилем. Может быть переопределен с помощью QAbstractItemView::setVerticalScrollMode() и QAbstractItemView::setHorizontalScrollMode(). Это значение перечисления было введено в Qt 5.7. |
QStyle::SH_TitleBar_ShowToolTipsOnButtons |
113 |
Определяет, отображаются ли всплывающие подсказки на кнопках строки заголовка окна. Например, стиль Mac устанавливает это значение в false. Это значение перечисления было введено в Qt 5.10. |
QStyle::SH_Widget_Animation_Duration |
114 |
Определяет продолжительность анимации (в мс). Значение, равное нулю, означает отключение анимации. Это значение перечисления было введено в Qt 5.10. |
QStyle::SH_ComboBox_AllowWheelScrolling |
115 |
Определяет, можно ли использовать колесо мыши для прокрутки внутри QComboBox. По умолчанию включено во всех стилях, кроме стиля Mac. Это значение перечисления было введено в Qt 5.10. |
QStyle::SH_SpinBox_ButtonsInsideFrame |
116 |
Определяет, находятся ли кнопки поля ввода внутри рамки поля редактирования. Это значение перечисления было введено в Qt 5.11. |
QStyle::SH_SpinBox_StepModifier |
117 |
Определяет, какая Qt::KeyboardModifier увеличивает скорость шага QAbstractSpinBox. Возможные значения: Qt::NoModifier, Qt::ControlModifier (по умолчанию) или Qt::ShiftModifier. Qt::NoModifier отключает эту функцию. Это значение перечисления было введено в Qt 5.12. |
См. также styleHint().
enum QStyle::SubControlflags QStyle::SubControls
Это перечисление описывает доступные подэлементы управления. Подэлемент управления — это элемент управления внутри сложного элемента управления (ComplexControl).
| Константа | Значение | Описание |
|---|---|---|
QStyle::SC_None |
0x00000000 |
Специальное значение, которое не соответствует ни одному другому элементу управления. |
QStyle::SC_ScrollBarAddLine |
0x00000001 |
Добавление линии в полосу прокрутки (например, стрелка вниз/вправо); см. также QScrollBar. |
QStyle::SC_ScrollBarSubLine |
0x00000002 |
Уменьшение линии в полосе прокрутки (например, стрелка вверх/влево). |
QStyle::SC_ScrollBarAddPage |
0x00000004 |
Добавление страницы в полосе прокрутки (например, страница вниз). |
QStyle::SC_ScrollBarSubPage |
0x00000008 |
Уменьшение страницы в полосе прокрутки (например, страница вверх). |
QStyle::SC_ScrollBarFirst |
0x00000010 |
Первая строка полосы прокрутки (например, начало). |
QStyle::SC_ScrollBarLast |
0x00000020 |
Последняя строка полосы прокрутки (например, конец). |
QStyle::SC_ScrollBarSlider |
0x00000040 |
Движок полосы прокрутки. |
QStyle::SC_ScrollBarGroove |
0x00000080 |
Специальный подэлемент, содержащий область, в которой может перемещаться ползунок. |
QStyle::SC_SpinBoxUp |
0x00000001 |
Поле увеличения/уменьшения спин-виджета; см. также QSpinBox. |
QStyle::SC_SpinBoxDown |
0x00000002 |
Поле уменьшения/уменьшения спин-виджета. |
QStyle::SC_SpinBoxFrame |
0x00000004 |
Рамка спин-виджета. |
QStyle::SC_SpinBoxEditField |
0x00000008 |
Поле ввода спин-виджета. |
QStyle::SC_ComboBoxEditField |
0x00000002 |
Поле редактирования комбо-бокса; см. также QComboBox. |
QStyle::SC_ComboBoxArrow |
0x00000004 |
Стрелка-кнопка комбо-бокса. |
QStyle::SC_ComboBoxFrame |
0x00000001 |
Рамка комбо-бокса. |
QStyle::SC_ComboBoxListBoxPopup |
0x00000008 |
Прямоугольник для всплывающего списка комбо-бокса. Используется для расчета позиции всплывающего списка. |
QStyle::SC_SliderGroove |
0x00000001 |
Специальный подэлемент, содержащий область, в которой может перемещаться ползунок. |
QStyle::SC_SliderHandle |
0x00000002 |
Ползунок. |
QStyle::SC_SliderTickmarks |
0x00000004 |
Деления шкалы ползунка. |
QStyle::SC_ToolButton |
0x00000001 |
Кнопка инструмента (см. также QToolButton). |
QStyle::SC_ToolButtonMenu |
0x00000002 |
Подэлемент для открытия всплывающего меню в кнопке инструмента. |
QStyle::SC_TitleBarSysMenu |
0x00000001 |
Кнопка системного меню (например, восстановить, закрыть и т. д.). |
QStyle::SC_TitleBarMinButton |
0x00000002 |
Кнопка сворачивания. |
QStyle::SC_TitleBarMaxButton |
0x00000004 |
Кнопка разворачивания. |
QStyle::SC_TitleBarCloseButton |
0x00000008 |
Кнопка закрытия. |
QStyle::SC_TitleBarLabel |
0x00000100 |
Метка заголовка окна. |
QStyle::SC_TitleBarNormalButton |
0x00000010 |
Нормальная (восстановленная) кнопка. |
QStyle::SC_TitleBarShadeButton |
0x00000020 |
Кнопка затемнения. |
QStyle::SC_TitleBarUnshadeButton |
0x00000040 |
Кнопка отмены затемнения. |
QStyle::SC_TitleBarContextHelpButton |
0x00000080 |
Кнопка справки по контексту. |
QStyle::SC_DialHandle |
0x00000002 |
Ползунок регулятора (то, чем вы управляете регулятором). |
QStyle::SC_DialGroove |
0x00000001 |
Паз регулятора. |
QStyle::SC_DialTickmarks |
0x00000004 |
Деления шкалы регулятора. |
QStyle::SC_GroupBoxFrame |
0x00000008 |
Рамка группового поля. |
QStyle::SC_GroupBoxLabel |
0x00000002 |
Заголовок группового поля. |
QStyle::SC_GroupBoxCheckBox |
0x00000001 |
Дополнительный флажок группового поля. |
QStyle::SC_GroupBoxContents |
0x00000004 |
Содержимое группового поля. |
QStyle::SC_MdiNormalButton |
0x00000002 |
Обычная кнопка для подокна MDI в строке меню. |
QStyle::SC_MdiMinButton |
0x00000001 |
Кнопка сворачивания для подокна MDI в строке меню. |
QStyle::SC_MdiCloseButton |
0x00000004 |
Кнопка закрытия для подокна MDI в строке меню. |
QStyle::SC_All |
0xffffffff |
Специальное значение, которое соответствует всем подэлементам управления. |
Тип SubControls — это typedef для QFlags<SubControl>. Он хранит логическое ИЛИ сочетание значений SubControl.
См. также ComplexControl.
enum QStyle::SubElement
Этот перечисление представляет собой подобласть виджета. Реализации стиля используют эти области для отрисовки различных частей виджета.
| Константа | Значение | Описание |
|---|---|---|
QStyle::SE_PushButtonContents |
0 |
Область, содержащая метку (иконку с текстом или пиксельным изображением). |
QStyle::SE_PushButtonFocusRect |
1 |
Область для прямоугольника фокуса (обычно больше, чем область содержимого). |
QStyle::SE_PushButtonLayoutItem |
38 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_CheckBoxIndicator |
2 |
Область для индикатора состояния (например, галочки). |
QStyle::SE_CheckBoxContents |
3 |
Область для метки (текста или пиксельного изображения). |
QStyle::SE_CheckBoxFocusRect |
4 |
Область для индикатора фокуса. |
QStyle::SE_CheckBoxClickRect |
5 |
Нажимаемая область, по умолчанию SE_CheckBoxFocusRect. |
QStyle::SE_CheckBoxLayoutItem |
32 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_DateTimeEditLayoutItem |
34 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_RadioButtonIndicator |
6 |
Область для индикатора состояния. |
QStyle::SE_RadioButtonContents |
7 |
Область для метки. |
QStyle::SE_RadioButtonFocusRect |
8 |
Область для индикатора фокуса. |
QStyle::SE_RadioButtonClickRect |
9 |
Нажимаемая область, по умолчанию SE_RadioButtonFocusRect. |
QStyle::SE_RadioButtonLayoutItem |
39 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_ComboBoxFocusRect |
10 |
Область для индикатора фокуса. |
QStyle::SE_SliderFocusRect |
11 |
Область для индикатора фокуса. |
QStyle::SE_SliderLayoutItem |
40 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_SpinBoxLayoutItem |
41 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_ProgressBarGroove |
12 |
Область для канавки. |
QStyle::SE_ProgressBarContents |
13 |
Область для индикатора прогресса. |
QStyle::SE_ProgressBarLabel |
14 |
Область для текстовой метки. |
QStyle::SE_ProgressBarLayoutItem |
37 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_FrameContents |
27 |
Область для содержимого фрейма. |
QStyle::SE_ShapedFrameContents |
52 |
Область для содержимого фрейма с использованием формы в QStyleOptionFrame; см. QFrame |
QStyle::SE_FrameLayoutItem |
43 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_HeaderArrow |
17 |
Область для индикатора сортировки для заголовка. |
QStyle::SE_HeaderLabel |
16 |
Область для метки в заголовке. |
QStyle::SE_LabelLayoutItem |
36 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_LineEditContents |
26 |
Область для содержимого поля ввода. |
QStyle::SE_TabWidgetLeftCorner |
21 |
Область для виджета левого угла в виджете вкладок. |
QStyle::SE_TabWidgetRightCorner |
22 |
Область для виджета правого угла в виджете вкладок. |
QStyle::SE_TabWidgetTabBar |
18 |
Область для виджета панели вкладок в виджете вкладок. |
QStyle::SE_TabWidgetTabContents |
20 |
Область для содержимого виджета вкладок. |
QStyle::SE_TabWidgetTabPane |
19 |
Область для панели виджета вкладок. |
QStyle::SE_TabWidgetLayoutItem |
45 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_ToolBoxTabContents |
15 |
Область для значка и метки вкладки виджета инструментальной панели. |
QStyle::SE_ToolButtonLayoutItem |
42 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_ItemViewItemCheckIndicator |
23 |
Область для галочки элемента представления. |
QStyle::SE_TabBarTearIndicator |
24 |
Устарело. Используйте SE_TabBarTearIndicatorLeft вместо этого. |
QStyle::SE_TabBarTearIndicatorLeft |
SE_TabBarTearIndicator |
Область для индикатора разрыва слева на панели вкладок со стрелками прокрутки. |
QStyle::SE_TabBarTearIndicatorRight |
56 |
Область для индикатора разрыва справа на панели вкладок со стрелками прокрутки. |
QStyle::SE_TabBarScrollLeftButton |
54 |
Область для кнопки прокрутки влево на панели вкладок с кнопками прокрутки. |
QStyle::SE_TabBarScrollRightButton |
55 |
Область для кнопки прокрутки вправо на панели вкладок с кнопками прокрутки. |
QStyle::SE_TreeViewDisclosureItem |
25 |
Область для фактического элемента раскрытия в ветке дерева. |
QStyle::SE_DialogButtonBoxLayoutItem |
35 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_GroupBoxLayoutItem |
44 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_CustomBase |
0xf0000000 |
Базовое значение для пользовательских подэлементов. Пользовательские значения должны быть больше этого значения. |
QStyle::SE_DockWidgetFloatButton |
29 |
Плавающая кнопка виджета плавающей панели. |
QStyle::SE_DockWidgetTitleBarText |
30 |
Границы текста заголовка виджетов плавающей панели. |
QStyle::SE_DockWidgetCloseButton |
28 |
Кнопка закрытия виджета плавающей панели. |
QStyle::SE_DockWidgetIcon |
31 |
Значок виджета плавающей панели. |
QStyle::SE_ComboBoxLayoutItem |
33 |
Область, учитываемая для родительской компоновки. |
QStyle::SE_ItemViewItemDecoration |
46 |
Область для декорации элемента представления (иконки). |
QStyle::SE_ItemViewItemText |
47 |
Область для текста элемента представления. |
QStyle::SE_ItemViewItemFocusRect |
48 |
Область для прямоугольника фокуса элемента представления. |
QStyle::SE_TabBarTabLeftButton |
49 |
Область для виджета слева от вкладки на панели вкладок. |
QStyle::SE_TabBarTabRightButton |
50 |
Область для виджета справа от вкладки на панели вкладок. |
QStyle::SE_TabBarTabText |
51 |
Область для текста на вкладке на панели вкладок. |
QStyle::SE_ToolBarHandle |
53 |
Область для ручки панели инструментов. |
См. также subElementRect().
Документация по функциям-членам
QStyle::QStyle()
Создает объект стиля.
[virtual] QStyle::~QStyle()
Удаляет объект стиля.
[static] QRect QStyle::alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize &size, const QRect &rectangle)
Возвращает новый прямоугольник указанного размера size, выровненный относительно заданного прямоугольника rectangle в соответствии с заданным выравниванием alignment и направлением direction.
int QStyle::combinedLayoutSpacing(QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption *option = nullptr, QWidget *widget = nullptr) const
Возвращает отступ, который следует использовать между controls1 и controls2 в макете. orientation указывает, расположены ли элементы управления рядом или друг под другом. Параметр option может использоваться для передачи дополнительной информации о родительском виджете. Параметр widget необязателен и также может использоваться, если option равен 0.
controls1 и controls2 — это битовая комбинация одного или нескольких типов элементов управления.
Эта функция вызывается системой макетов. Она используется только в том случае, если PM_LayoutHorizontalSpacing или PM_LayoutVerticalSpacing возвращают отрицательное значение.
Данная функция была введена в Qt 4.3.
См. также layoutSpacing().
[pure virtual] void QStyle::drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const
Рисует заданный элемент управления control с помощью предоставленного объекта рисования painter со стилями, указанными в option.
Аргумент widget необязателен и может использоваться в качестве вспомогательного средства для отрисовки элемента управления.
Параметр option — указатель на объект QStyleOptionComplex, который можно привести к нужному подклассу с помощью функции qstyleoption_cast(). Обратите внимание, что член rect указанного option должен быть в логических координатах. При переопределении этой функции следует использовать visualRect() для преобразования логических координат в экранные перед вызовом функций drawPrimitive() или drawControl().
В таблице ниже перечислены сложные элементы управления и соответствующие подклассы опций стиля. Опции стиля содержат все параметры, необходимые для отрисовки элементов управления, включая QStyleOption::state, который содержит флаги стиля, используемые при рисовании. Таблица также описывает, какие флаги устанавливаются при приведении заданного option к соответствующему подклассу.
| Элемент управления | QStyleOptionComplex Подкласс | Флаг стиля | Примечание |
|---|---|---|---|
| CC_SpinBox | QStyleOptionSpinBox | State_Enabled | Устанавливается, если спин-бокс включен. |
| State_HasFocus | Устанавливается, если спин-бокс имеет фокус. | ||
| CC_ComboBox | QStyleOptionComboBox | State_Enabled | Устанавливается, если раскрывающийся список включен. |
| State_HasFocus | Устанавливается, если раскрывающийся список имеет фокус. | ||
| CC_ScrollBar | QStyleOptionSlider | State_Enabled | Устанавливается, если полоса прокрутки включена. |
| State_HasFocus | Устанавливается, если полоса прокрутки имеет фокус. | ||
| CC_Slider | QStyleOptionSlider | State_Enabled | Устанавливается, если ползунок включен. |
| State_HasFocus | Устанавливается, если ползунок имеет фокус. | ||
| CC_Dial | QStyleOptionSlider | State_Enabled | Устанавливается, если диск включен. |
| State_HasFocus | Устанавливается, если диск имеет фокус. | ||
| CC_ToolButton | QStyleOptionToolButton | State_Enabled | Устанавливается, если кнопка инструментария включена. |
| State_HasFocus | Устанавливается, если кнопка инструментария имеет фокус. | ||
| State_DownArrow | Устанавливается, если кнопка инструментария нажата (т.е. нажата кнопка мыши или клавиша пробела). | ||
| State_On | Устанавливается, если кнопка инструментария — переключатель и переключена. | ||
| State_AutoRaise | Устанавливается, если для кнопки инструментария включено автоматическое поднятие. | ||
| State_Raised | Устанавливается, если кнопка не нажата, не включена и не содержит указатель мыши при включенном автоматическом поднятии. | ||
| CC_TitleBar | QStyleOptionTitleBar | State_Enabled | Устанавливается, если строка заголовка включена. |
См. также drawPrimitive() и drawControl().
[pure virtual] void QStyle::drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const
Рисует заданный элемент element с помощью объекта рисования painter со стилями, указанными в option.
Аргумент widget необязателен и может использоваться в качестве вспомогательного средства для отрисовки элемента управления. Параметр option — указатель на объект QStyleOption, который можно привести к нужному подклассу с помощью функции qstyleoption_cast().
В таблице ниже перечислены элементы управления и соответствующие им подклассы опций стиля. Опции стиля содержат все необходимые параметры для отрисовки элементов управления, включая QStyleOption::state, хранящий флаги стиля, используемые при отрисовке. Таблица также описывает флаги, которые устанавливаются при приведении заданного параметра option к соответствующему подклассу.
Обратите внимание, что если элемент управления не указан в таблице, это означает, что он использует обычный объект QStyleOption.
| Элемент управления | Подкласс QStyleOption | Флаг стиля | Примечание |
|---|---|---|---|
| CE_MenuItem, CE_MenuBarItem | QStyleOptionMenuItem | State_Selected | Элемент меню в текущем выделенном состоянии. |
| State_Enabled | Элемент активен. | ||
| State_DownArrow | Указывает, что необходимо нарисовать стрелку вниз для прокрутки. | ||
| State_UpArrow | Указывает, что необходимо нарисовать стрелку вверх для прокрутки. | ||
| State_HasFocus | Установлено, если у пункта меню есть фокус ввода. | ||
| CE_PushButton, CE_PushButtonBevel, CE_PushButtonLabel | QStyleOptionButton | State_Enabled | Установлено, если кнопка активна. |
| State_HasFocus | Установлено, если кнопка имеет фокус ввода. | ||
| State_Raised | Установлено, если кнопка не нажата и не в состоянии «включено». | ||
| State_On | Установлено, если кнопка — переключатель и включена. | ||
| State_Sunken | Установлено, если кнопка нажата (т.е., нажата кнопка мыши или нажата клавиша пробела на кнопке). | ||
| CE_RadioButton, CE_RadioButtonLabel, CE_CheckBox, CE_CheckBoxLabel | QStyleOptionButton | State_Enabled | Установлено, если кнопка активна. |
| State_HasFocus | Установлено, если кнопка имеет фокус ввода. | ||
| State_On | Установлено, если кнопка выбрана. | ||
| State_Off | Установлено, если кнопка не выбрана. | ||
| State_NoChange | Установлено, если кнопка находится в состоянии «Без изменений». | ||
| State_Sunken | Установлено, если кнопка нажата (т.е., нажата кнопка мыши или нажата клавиша пробела на кнопке). | ||
| CE_ProgressBarContents, CE_ProgressBarLabel, CE_ProgressBarGroove | QStyleOptionProgressBar | State_Enabled | Установлено, если полоса прогресса активна. |
| State_HasFocus | Установлено, если у полосы прогресса есть фокус ввода. | ||
| CE_Header, CE_HeaderSection, CE_HeaderLabel | QStyleOptionHeader | ||
| CE_TabBarTab, CE_TabBarTabShape, CE_TabBarTabLabel | QStyleOptionTab | State_Enabled | Установлено, если вкладка активна. |
| State_Selected | Вкладка в данный момент выбрана. | ||
| State_HasFocus | Установлено, если у вкладки есть фокус ввода. | ||
| CE_ToolButtonLabel | QStyleOptionToolButton | State_Enabled | Установлено, если кнопка инструмента активна. |
| State_HasFocus | Установлено, если у кнопки инструмента есть фокус ввода. | ||
| State_Sunken | Установлено, если кнопка инструмента нажата (т.е., нажата кнопка мыши или нажата клавиша пробела). | ||
| State_On | Установлено, если кнопка инструмента — переключатель и включена. | ||
| State_AutoRaise | Установлено, если у кнопки инструмента включен автоподъем. | ||
| State_MouseOver | Установлено, если указатель мыши находится над кнопкой инструмента. | ||
| State_Raised | Установлено, если кнопка не нажата и не включена. | ||
| CE_ToolBoxTab | QStyleOptionToolBox | State_Selected | Вкладка в данный момент выбрана. |
| CE_HeaderSection | QStyleOptionHeader | State_Sunken | Указывает, что секция нажата. |
| State_UpArrow | Указывает, что индикатор сортировки должен быть направлен вверх. | ||
| State_DownArrow | Указывает, что индикатор сортировки должен быть направлен вниз. |
См. также drawPrimitive() и drawComplexControl().
[virtual] void QStyle::drawItemPixmap(QPainter *painter, const QRect &rectangle, int alignment, const QPixmap &pixmap) const
Рисует заданную pixmap в указанном rectangle, в соответствии с указанным alignment, с помощью предоставленного painter.
См. также drawItemText().
[virtual] void QStyle::drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const
Рисует заданный text в указанном rectangle с помощью предоставленного painter и palette.
Текст рисуется с помощью пера painter, и выравнивается и обрезается в соответствии с указанным alignment. Если задан явный textRole, текст рисуется с использованием цвета palette для данного роли. Параметр enabled указывает, активен ли элемент или нет; при переопределении этой функции параметр enabled должен влиять на способ отрисовки элемента.
См. также Qt::Alignment и drawItemPixmap().
[pure virtual] void QStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const
Рисует заданный примитивный element с помощью предоставленного painter, используя параметры стиля, заданные в option.
Аргумент widget является необязательным и может содержать виджет, который может помочь в рисовании примитивного элемента.
В таблице ниже перечислены примитивные элементы и соответствующие подклассы QStyleOption. Стилевые опции содержат все параметры, необходимые для рисования элементов, включая QStyleOption::state, который содержит флаги стиля, используемые при рисовании. В таблице также описаны флаги, которые устанавливаются при приведении заданного option к соответствующему подклассу.
Обратите внимание, что если примитивный элемент не указан здесь, это означает, что он использует простой объект QStyleOption.
END_OF_DOCUMENT_MARKER| Примитивный элемент | Подкласс QStyleOption | Флаг стиля | Примечание |
|---|---|---|---|
| PE_FrameFocusRect | QStyleOptionFocusRect | State_FocusAtBorder | Указывает, находится ли фокус на границе или внутри виджета. |
| PE_IndicatorCheckBox | QStyleOptionButton | State_NoChange | Указывает "трёхсостояниевый" чекбокс. |
| State_On | Указывает, что индикатор отмечен. | ||
| PE_IndicatorRadioButton | QStyleOptionButton | State_On | Указывает, что радиокнопка выбрана. |
| State_NoChange | Указывает "трёхсостояниевый" контроллер. | ||
| State_Enabled | Указывает, что контроллер включён. | ||
| PE_IndicatorBranch | QStyleOption | State_Children | Указывает, что должен быть нарисован элемент управления для разворачивания дерева и отображения дочерних элементов. |
| State_Item | Указывает, что должна быть нарисована горизонтальная ветвь (для отображения дочернего элемента). | ||
| State_Open | Указывает, что ветвь дерева развернута. | ||
| State_Sibling | Указывает, что должна быть нарисована вертикальная линия (для отображения смежного элемента). | ||
| PE_IndicatorHeaderArrow | QStyleOptionHeader | State_UpArrow | Указывает, что стрелка должна быть нарисована вверх; в противном случае — вниз. |
| PE_FrameGroupBox, PE_Frame, PE_FrameLineEdit, PE_FrameMenu, PE_FrameDockWidget, PE_FrameWindow | QStyleOptionFrame | State_Sunken | Указывает, что рамка должна быть утопленной. |
| PE_IndicatorToolBarHandle | QStyleOption | State_Horizontal | Указывает, что ручка окна горизонтальная, а не вертикальная. |
| PE_IndicatorSpinPlus, PE_IndicatorSpinMinus, PE_IndicatorSpinUp, PE_IndicatorSpinDown, | QStyleOptionSpinBox | State_Sunken | Указывает, что кнопка нажата. |
| PE_PanelButtonCommand | QStyleOptionButton | State_Enabled | Устанавливается, если кнопка активна. |
| State_HasFocus | Устанавливается, если кнопка имеет фокус ввода. | ||
| State_Raised | Устанавливается, если кнопка не нажата, не включена и не плоская. | ||
| State_On | Устанавливается, если кнопка является переключателем и переключена. | ||
| State_Sunken | Устанавливается, если кнопка нажата (т.е. нажата кнопка мыши или клавиша пробела на кнопке). |
См. также drawComplexControl() и drawControl().
[pure virtual] QPixmap QStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const
Возвращает копию заданной pixmap, стилизованной в соответствии с указанным iconMode и учитывающей палитру, заданную параметром option.
Параметр option может передавать дополнительную информацию, но он должен содержать палитру.
Обратите внимание, что не все pixmap будут соответствовать, в этом случае возвращаемая pixmap является обычной копией.
См. также QIcon.
[pure virtual] QStyle::SubControl QStyle::hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = nullptr) const
Возвращает подконтроль в заданной position в заданном сложном control (с опциями стиля, указанными в option).
Обратите внимание, что position выражается в координатах экрана.
Аргумент option — указатель на объект QStyleOptionComplex (или один из его подклассов). Объект можно привести к соответствующему типу, используя функцию qstyleoption_cast(). Подробности см. в drawComplexControl(). Аргумент widget необязателен и может содержать дополнительную информацию для функции.
См. также drawComplexControl() и subControlRect().
[virtual] QRect QStyle::itemPixmapRect(const QRect &rectangle, int alignment, const QPixmap &pixmap) const
Возвращает область внутри заданной rectangle, в которой следует отображать указанную pixmap в соответствии с заданным alignment.
[virtual] QRect QStyle::itemTextRect(const QFontMetrics &metrics, const QRect &rectangle, int alignment, bool enabled, const QString &text) const
Возвращает область внутри заданной rectangle, в которой следует отображать предоставленный text в соответствии с указанными метриками шрифта metrics и alignment. Параметр enabled указывает, активен ли связанный элемент.
Если заданная rectangle больше области, необходимой для отображения text, возвращаемый прямоугольник будет смещён внутри rectangle в соответствии с заданным alignment. Например, если alignment — Qt::AlignCenter, возвращаемый прямоугольник будет центрирован внутри rectangle. Если заданная rectangle меньше необходимой, возвращаемый прямоугольник будет наименьшим прямоугольником, достаточным для отображения text.
См. также Qt::Alignment.
[pure virtual] int QStyle::layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = ..., const QWidget *widget = ...) const
Возвращает интервал, который должен использоваться между control1 и control2 в макете. orientation указывает, расположены ли элементы управления рядом или друг под другом. Параметр option может использоваться для передачи дополнительной информации о родительском виджете. Параметр widget необязателен и также может использоваться, если option равен 0.
Эта функция вызывается системой макета. Используется только если PM_LayoutHorizontalSpacing или PM_LayoutVerticalSpacing возвращают отрицательное значение.
Эта функция была добавлена в Qt 4.3.
См. также combinedLayoutSpacing().
[pure virtual] int QStyle::pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const
Возвращает значение заданной пиксельной metric.
Указанные option и widget могут использоваться для расчёта метрики. Как правило, аргумент widget не используется. Параметр option может быть приведён к соответствующему типу с помощью функции qstyleoption_cast(). Обратите внимание, что option может быть нулевым даже для PixelMetrics, которые могут использовать его. В таблице ниже приведены соответствующие преобразования option:
Некоторые пиксельные метрики вызываются виджетами, а некоторые — только внутренне стилем. Если метрика не вызывается виджетом, автор стиля может использовать её по своему усмотрению. Для некоторых стилей это может быть неуместно.
[virtual] void QStyle::polish(QWidget *widget)
Инициализирует внешний вид данного виджета widget.
Эта функция вызывается для каждого виджета в какой-то момент после того, как он был полностью создан, но непосредственно перед его первым отображением.
Обратите внимание, что реализация по умолчанию ничего не делает. Целесообразные действия в этой функции могут заключаться в вызове функции QWidget::setBackgroundMode() для виджета. Не используйте функцию для установки, например, геометрии. Переопределение этой функции предоставляет «задний ход», позволяющий изменить внешний вид виджета, но в Qt's стилевой системе редко требуется реализовывать эту функцию; вместо этого переопределите drawItemPixmap(), drawItemText(), drawPrimitive() и т. д.
Функция QWidget::inherits() может предоставить достаточно информации, чтобы позволить адаптацию, специфичную для класса. Но поскольку новые подклассы QStyle должны работать приемлемо со всеми текущими и будущими виджетами, рекомендуется ограничить использование жёстко запрограммированных настроек.
См. также unpolish().
[virtual] void QStyle::polish(QApplication *application)
Это перегруженная функция.
Поздняя инициализация данного объекта application.
[virtual] void QStyle::polish(QPalette &palette)
Это перегруженная функция.
Изменяет palette в соответствии со специфичными для стиля требованиями к цветовым палитрам (если таковые имеются).
См. также QPalette и QApplication::setPalette().
const QStyle *QStyle::proxy() const
Эта функция возвращает текущий прокси для этого стиля. По умолчанию большинство стилей вернут себя. Однако когда используется прокси-стиль, он позволит стилю обращаться к своему прокси.
Эта функция была добавлена в Qt 4.6.
[pure virtual] QSize QStyle::sizeFromContents(QStyle::ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget = nullptr) const
Возвращает размер элемента, описанного указанным option и type, на основе предоставленного contentsSize.
Аргумент option — указатель на QStyleOption или один из его подклассов. Option можно привести к соответствующему типу с помощью функции qstyleoption_cast(). Widget — необязательный аргумент и может содержать дополнительную информацию, используемую для вычисления размера.
См. таблицу ниже для соответствующих приведений option:
См. также ContentsType и QStyleOption.
[static] int QStyle::sliderPositionFromValue(int min, int max, int logicalValue, int span, bool upsideDown = false)
Преобразует заданное logicalValue в пиксельное положение. Параметр min сопоставляется с 0, max — с span, а другие значения распределяются равномерно между ними.
Эта функция может обрабатывать весь целочисленный диапазон без переполнения, при условии, что span меньше 4096.
По умолчанию эта функция предполагает, что максимальное значение находится справа для горизонтальных элементов и внизу для вертикальных. Установите параметр upsideDown в true, чтобы перевернуть это поведение.
См. также sliderValueFromPosition().
[static] int QStyle::sliderValueFromPosition(int min, int max, int position, int span, bool upsideDown = false)
Преобразует заданное пиксельное position в логическое значение. 0 соответствует параметру min, span — max, а другие значения распределяются равномерно между ними.
Эта функция может обрабатывать весь целочисленный диапазон без переполнения.
По умолчанию эта функция предполагает, что максимальное значение находится справа для горизонтальных элементов и внизу для вертикальных. Установите параметр upsideDown в true, чтобы перевернуть это поведение.
См. также sliderPositionFromValue().
[pure virtual] QIcon QStyle::standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option = ..., const QWidget *widget = ...) const
Возвращает значок для данного standardIcon.
standardIcon — это стандартное пиктографическое изображение, которое может следовать некоторым существующим стилям или рекомендациям графического интерфейса. Аргумент option может использоваться для передачи дополнительной информации, необходимой при определении подходящей иконки. Аргумент widget является необязательным и также может быть использован для определения иконки.
Эта функция была представлена в Qt 4.1.
[virtual] QPalette QStyle::standardPalette() const
Возвращает стандартную палитру стиля.
Обратите внимание, что в системах, поддерживающих системные цвета, стандартная палитра стиля не используется. В частности, стили Windows Vista и Mac не используют стандартную палитру, а используют собственные механизмы темы. В этих стилях вы не должны устанавливать палитру с помощью QApplication::setPalette().
См. также QApplication::setPalette().
[pure virtual] int QStyle::styleHint(QStyle::StyleHint hint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const
Возвращает целое число, представляющее указанный стиль hint для данного widget, описанного предоставленным стилем option.
returnData используется, когда запрашиваемому виджету требуется более подробная информация, чем целое число, возвращаемое styleHint(). См. описание класса QStyleHintReturn для получения подробностей.
[pure virtual] QRect QStyle::subControlRect(QStyle::ComplexControl control, const QStyleOptionComplex *option, QStyle::SubControl subControl, const QWidget *widget = nullptr) const
Возвращает прямоугольник, содержащий указанный subControl заданного сложного control (со стилем, указанным в option). Прямоугольник задан в координатах экрана.
Аргумент option — указатель на QStyleOptionComplex или один из его подклассов, и может быть приведён к соответствующему типу с помощью функции qstyleoption_cast(). См. drawComplexControl() для получения подробностей. widget — необязательный аргумент и может содержать дополнительную информацию для функции.
См. также drawComplexControl().
[pure virtual] QRect QStyle::subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget = nullptr) const
Возвращает подобласть для заданного element, как описано в предоставленном стиле option. Возвращённый прямоугольник задан в координатах экрана.
Аргумент widget является необязательным и может быть использован для определения области. Объект QStyleOption может быть приведён к соответствующему типу с помощью функции qstyleoption_cast(). Ниже приведена таблица соответствующих преобразований option:
[virtual] void QStyle::unpolish(QWidget *widget)
Деактивировать отображение заданного widget.
Эта функция является аналогом polish(). Она вызывается для каждого виджета polish, когда стиль динамически изменяется; предыдущий стиль должен деактивировать свои настройки, прежде чем новый стиль сможет их активировать.
Обратите внимание, что unpolish() будет вызвана только если виджет уничтожен. Это может вызвать проблемы в некоторых случаях, например, если вы удаляете виджет из пользовательского интерфейса, кешируете его, а затем вставляете его обратно после изменения стиля; некоторые классы Qt кешируют свои виджеты.
См. также polish().
[virtual] void QStyle::unpolish(QApplication *application)
Это перегруженная функция.
Деактивировать заданное application.
[static] Qt::Alignment QStyle::visualAlignment(Qt::LayoutDirection direction, Qt::Alignment alignment)
Преобразует alignment Qt::AlignLeft или Qt::AlignRight без Qt::AlignAbsolute в Qt::AlignLeft или Qt::AlignRight с Qt::AlignAbsolute в зависимости от направления direction. Другие флаги выравнивания остаются без изменений.
Если горизонтальное выравнивание не было указано, функция возвращает значение по умолчанию для данного направления direction.
[static] QPoint QStyle::visualPos(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QPoint &logicalPosition)
Возвращает заданное logicalPosition, преобразованное в координаты экрана на основе указанного direction. boundingRectangle используется при выполнении преобразования.
См. также QWidget::layoutDirection.
[static] QRect QStyle::visualRect(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QRect &logicalRectangle)
Возвращает заданный logicalRectangle, преобразованный в координаты экрана на основе указанного direction. boundingRectangle используется при выполнении преобразования.
Эта функция предназначена для поддержки правосторонних настольных компьютеров и обычно используется в реализациях функции subControlRect().
См. также QWidget::layoutDirection.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qstyle.html