Класс QStyle
Класс QStyle — это абстрактный базовый класс, который инкапсулирует внешний вид и ощущения графического интерфейса пользователя (GUI). Подробнее...
| Заголовок: | #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_TabBar_ChangeCurrentDelay } |
| Перечисление | 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 = Q_NULLPTR, QWidget *widget = Q_NULLPTR) const |
| виртуальный void | drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = Q_NULLPTR) const = 0 |
| виртуальный void | drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = Q_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(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = Q_NULLPTR) const = 0 |
| виртуальный QPixmap | generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const = 0 |
| виртуальный SubControl | hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = Q_NULLPTR) const = 0 |
| виртуальный QRect | itemPixmapRect(const QRect &rectangle, int alignment, const QPixmap &pixmap) const |
| виртуальный QRect | itemTextRect(const QFontMetrics &metrics, const QRect &rectangle, int alignment, bool enabled, const QString &text) const |
| виртуальный int | layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = Q_NULLPTR, const QWidget *widget = Q_NULLPTR) const = 0 |
| виртуальный int | pixelMetric(PixelMetric metric, const QStyleOption *option = Q_NULLPTR, const QWidget *widget = Q_NULLPTR) const = 0 |
| виртуальный void | polish(QWidget *widget) |
| виртуальный void | polish(QApplication *application) |
| виртуальный void | polish(QPalette &palette) |
| const QStyle * | proxy() const |
| виртуальный QSize | sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget = Q_NULLPTR) const = 0 |
| виртуальный QIcon | standardIcon(StandardPixmap standardIcon, const QStyleOption *option = Q_NULLPTR, const QWidget *widget = Q_NULLPTR) const = 0 |
| виртуальный QPalette | standardPalette() const |
| виртуальный int | styleHint(StyleHint hint, const QStyleOption *option = Q_NULLPTR, const QWidget *widget = Q_NULLPTR, QStyleHintReturn *returnData = Q_NULLPTR) const = 0 |
| виртуальный QRect | subControlRect(ComplexControl control, const QStyleOptionComplex *option, SubControl subControl, const QWidget *widget = Q_NULLPTR) const = 0 |
| виртуальный QRect | subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget = Q_NULLPTR) const = 0 |
| виртуальный void | unpolish(QWidget *widget) |
| виртуальный void | unpolish(QApplication *application) |
- 31 открытая функция унаследованная от QObject
Статические открытые члены
| 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) |
- 11 статических публичных методов, унаследованных от QObject
Дополнительные унаследованные члены
- 1 свойство, унаследованное от QObject
- 1 публичный слот, унаследованный от QObject
- 2 сигнала, унаследованные от QObject
- 9 защищенных функций, унаследованных от QObject
Подробное описание
Класс QStyle — это абстрактный базовый класс, который инкапсулирует вид и поведение графического интерфейса.
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;
}; Для отрисовки стрелок вверх и вниз 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, который также используется для вычисления границ элементов и их подэлементов для различных типов ролей данных элементов данных 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, Пример стилей, Стили и стилизованные виджеты, QStyledItemDelegate и Стилизация.
Документация типов членов
enum QStyle::ComplexControl
Этот перечисление описывает доступные сложные элементы управления. Сложные элементы управления ведут себя по-разному в зависимости от того, где пользователь щелкнул по ним или какие клавиши были нажаты.
| Постоянная | Значение | Описание |
|---|---|---|
QStyle::CC_SpinBox |
0 |
Поле со списком (spinbox), как QSpinBox. |
QStyle::CC_ComboBox |
1 |
Комбо-бокс, как QComboBox. |
QStyle::CC_ScrollBar |
2 |
Ползунок (scroll bar), как QScrollBar. |
QStyle::CC_Slider |
3 |
Ползунок (slider), как QSlider. |
QStyle::CC_ToolButton |
4 |
Кнопка инструмента, как QToolButton. |
QStyle::CC_TitleBar |
5 |
Строка заголовка, как те, которые используются в QMdiSubWindow. |
QStyle::CC_GroupBox |
7 |
Группа элементов, как QGroupBox. |
QStyle::CC_Dial |
6 |
Поворотный регулятор (dial), как QDial. |
QStyle::CC_MdiControls |
8 |
Кнопки сворачивания, закрытия и восстановления в строке меню для максимального окна MDI. |
QStyle::CC_CustomBase |
0xf0000000 |
Базовое значение для пользовательских сложных элементов управления. Пользовательские значения должны быть больше этого значения. |
См. также SubControl и drawComplexControl().
enum QStyle::ContentsType
Это перечисление описывает доступные типы содержимого. Они используются для расчета размеров содержимого различных виджетов.
| Постоянная | Значение | Описание |
|---|---|---|
QStyle::CT_CheckBox |
1 |
Флажок, как QCheckBox. |
QStyle::CT_ComboBox |
4 |
Комбо-бокс, как QComboBox. |
QStyle::CT_HeaderSection |
19 |
Раздел заголовка, как QHeader. |
QStyle::CT_LineEdit |
14 |
Поле ввода, как QLineEdit. |
QStyle::CT_Menu |
10 |
Меню, как QMenu. |
QStyle::CT_MenuBar |
9 |
Строка меню, как QMenuBar. |
QStyle::CT_MenuBarItem |
8 |
Элемент строки меню, как кнопки в QMenuBar. |
QStyle::CT_MenuItem |
7 |
Элемент меню, как QMenuItem. |
QStyle::CT_ProgressBar |
6 |
Полоса прогресса, как QProgressBar. |
QStyle::CT_PushButton |
0 |
Кнопка, как QPushButton. |
QStyle::CT_RadioButton |
2 |
Радиокнопка, как QRadioButton. |
QStyle::CT_SizeGrip |
16 |
Маркер размера, как QSizeGrip. |
QStyle::CT_Slider |
12 |
Ползунок (slider), как QSlider. |
QStyle::CT_ScrollBar |
13 |
Ползунок (scroll bar), как QScrollBar. |
QStyle::CT_SpinBox |
15 |
Поле со списком (spin box), как QSpinBox. |
QStyle::CT_Splitter |
5 |
Разделитель, как QSplitter. |
QStyle::CT_TabBarTab |
11 |
Вкладка на вкладке, как QTabBar. |
QStyle::CT_TabWidget |
17 |
Вкладки, как QTabWidget. |
QStyle::CT_ToolButton |
3 |
Кнопка инструмента, как QToolButton. |
QStyle::CT_GroupBox |
20 |
Группа элементов, как QGroupBox. |
QStyle::CT_ItemViewItem |
22 |
Элемент внутри представления элементов. |
QStyle::CT_CustomBase |
0xf0000000 |
Базовое значение для пользовательских типов содержимого. Пользовательские значения должны быть больше этого значения. |
QStyle::CT_MdiControls |
21 |
Кнопки сворачивания, разворачивания и закрытия в строке меню для максимального окна MDI. |
См. также 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 |
? | Количество пробелов между метками кнопок панели заголовка виджета док-панели и рамкой. |
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 |
? | Ширина минимизированного окна MDI. |
QStyle::PM_LayoutLeftMargin |
? | По умолчанию левый отступ для QLayout. |
QStyle::PM_LayoutTopMargin |
? | По умолчанию верхний отступ для QLayout. |
QStyle::PM_LayoutRightMargin |
? | По умолчанию правый отступ для QLayout. |
QStyle::PM_LayoutBottomMargin |
? | По умолчанию нижний отступ для QLayout. |
QStyle::PM_LayoutHorizontalSpacing |
? | По умолчанию горизонтальный интервал для QLayout. |
QStyle::PM_LayoutVerticalSpacing |
? | По умолчанию вертикальный интервал для QLayout. |
QStyle::PM_MaximumDragDistance |
8 |
Максимальное допустимое расстояние между указателем мыши и полосой прокрутки при перетаскивании. Превышение указанного расстояния приведет к возвращению ползунка в исходное положение; значение -1 отключает это поведение. |
QStyle::PM_ScrollBarExtent |
9 |
Ширина вертикальной полосы прокрутки и высота горизонтальной полосы прокрутки. |
QStyle::PM_ScrollBarSliderMin |
10 |
Минимальная высота ползунка вертикальной полосы прокрутки и минимальная ширина ползунка горизонтальной полосы прокрутки. |
QStyle::PM_SliderThickness |
11 |
Общая толщина ползунка. |
QStyle::PM_SliderControlThickness |
12 |
Толщина ползунка. |
QStyle::PM_SliderLength |
13 |
Длина ползунка. |
QStyle::PM_SliderTickmarkOffset |
14 |
Смещение между метками и ползунком. |
QStyle::PM_SliderSpaceAvailable |
15 |
Доступное пространство для перемещения ползунка. |
QStyle::PM_DockWidgetSeparatorExtent |
16 |
Ширина разделителя в горизонтальном окне док-станции и высота разделителя в вертикальном окне док-станции. |
QStyle::PM_DockWidgetHandleExtent |
17 |
Ширина ручки в горизонтальном окне док-станции и высота ручки в вертикальном окне док-станции. |
QStyle::PM_DockWidgetFrameWidth |
18 |
Ширина рамки окна док-станции. |
QStyle::PM_DockWidgetTitleMargin |
? | Отступ заголовка окна док-станции. |
QStyle::PM_MenuBarPanelWidth |
33 |
Ширина рамки панели меню, по умолчанию равна PM_DefaultFrameWidth. |
QStyle::PM_MenuBarItemSpacing |
34 |
Интервал между элементами панели меню. |
QStyle::PM_MenuBarHMargin |
36 |
Интервал между элементами панели меню и левым/правым краем панели. |
QStyle::PM_MenuBarVMargin |
35 |
Интервал между элементами панели меню и верхним/нижним краем панели. |
QStyle::PM_ToolBarFrameWidth |
? | Ширина рамки вокруг панелей инструментов. |
QStyle::PM_ToolBarHandleExtent |
? | Ширина ручки панели инструментов в горизонтальной панели инструментов и высота ручки в вертикальной панели инструментов. |
QStyle::PM_ToolBarItemMargin |
? | Интервал между рамкой панели инструментов и элементами. |
QStyle::PM_ToolBarItemSpacing |
? | Интервал между элементами панели инструментов. |
QStyle::PM_ToolBarSeparatorExtent |
? | Ширина разделителя панели инструментов в горизонтальной панели инструментов и высота разделителя в вертикальной панели инструментов. |
QStyle::PM_ToolBarExtensionExtent |
? | Ширина кнопки расширения панели инструментов в горизонтальной панели инструментов и высота кнопки в вертикальной панели инструментов. |
QStyle::PM_TabBarTabOverlap |
19 |
Количество пикселей, на которое вкладки должны перекрываться. (В настоящее время используется только в стилях, а не внутри QTabBar) |
QStyle::PM_TabBarTabHSpace |
20 |
Дополнительное пространство, добавленное к ширине вкладки. |
QStyle::PM_TabBarTabVSpace |
21 |
Дополнительное пространство, добавленное к высоте вкладки. |
QStyle::PM_TabBarBaseHeight |
22 |
Высота области между панелью вкладок и страницами вкладок. |
QStyle::PM_TabBarBaseOverlap |
23 |
Количество пикселей, на которое панель вкладок перекрывает базу панели вкладок. |
QStyle::PM_TabBarScrollButtonWidth |
? | |
QStyle::PM_TabBarTabShiftHorizontal |
? | Горизонтальное смещение пикселей при выборе вкладки. |
QStyle::PM_TabBarTabShiftVertical |
? | Вертикальное смещение пикселей при выборе вкладки. |
QStyle::PM_ProgressBarChunkWidth |
24 |
Ширина фрагмента в индикаторе прогресс-бара. |
QStyle::PM_SplitterWidth |
25 |
Ширина разделителя. |
QStyle::PM_TitleBarHeight |
26 |
Высота строки заголовка. |
QStyle::PM_IndicatorWidth |
37 |
Ширина индикатора флажка. |
QStyle::PM_IndicatorHeight |
38 |
Высота индикатора флажка. |
QStyle::PM_ExclusiveIndicatorWidth |
39 |
Ширина индикатора радиокнопки. |
QStyle::PM_ExclusiveIndicatorHeight |
40 |
Высота индикатора радиокнопки. |
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 |
? | Размер индикатора сортировки в заголовке. |
QStyle::PM_HeaderGripMargin |
? | Размер маркерной области изменения размера в заголовке. |
QStyle::PM_HeaderMargin |
? | Размер отступа между индикатором сортировки и текстом. |
QStyle::PM_SpinBoxSliderHeight |
? | Высота необязательной ползунки спин-бокса. |
QStyle::PM_ToolBarIconSize |
? | Размер значка панели инструментов по умолчанию. |
QStyle::PM_SmallIconSize |
? | Размер малого значка по умолчанию. |
QStyle::PM_LargeIconSize |
? | Размер большого значка по умолчанию. |
QStyle::PM_FocusFrameHMargin |
? | Горизонтальный отступ, на который рамка фокуса будет смещать виджет. |
QStyle::PM_FocusFrameVMargin |
? | Вертикальный отступ, на который рамка фокуса будет смещать виджет. |
QStyle::PM_IconViewIconSize |
? | Размер значков по умолчанию в представлении значков. |
QStyle::PM_ListViewIconSize |
? | Размер значков по умолчанию в списке. |
QStyle::PM_ToolTipLabelFrameWidth |
? | Ширина рамки метки всплывающей подсказки. |
QStyle::PM_CheckBoxLabelSpacing |
? | Отступ между индикатором флажка и его меткой. |
QStyle::PM_RadioButtonLabelSpacing |
? | Отступ между индикатором радиокнопки и её меткой. |
QStyle::PM_TabBarIconSize |
? | Размер значка по умолчанию для панели вкладок. |
QStyle::PM_SizeGripSize |
? | Размер маркерной области изменения размера. |
QStyle::PM_MessageBoxIconSize |
? | Размер стандартных значков в окне сообщения. |
QStyle::PM_ButtonIconSize |
? | Размер значков кнопок по умолчанию. |
QStyle::PM_TextCursorWidth |
? | Ширина курсора в строке редактирования или поле редактирования текста. |
QStyle::PM_TabBar_ScrollButtonOverlap |
? | Расстояние между левыми и правыми кнопками на панели вкладок. |
QStyle::PM_TabCloseIndicatorWidth |
? | Ширина кнопки закрытия вкладки по умолчанию на панели вкладок. |
QStyle::PM_TabCloseIndicatorHeight |
? | Высота кнопки закрытия вкладки по умолчанию на панели вкладок. |
QStyle::PM_ScrollView_ScrollBarSpacing |
? | Расстояние между рамкой и полосой прокрутки с установленным SH_ScrollView_FrameOnlyAroundContents. |
QStyle::PM_ScrollView_ScrollBarOverlap |
? | Перекрытие между полосами прокрутки и содержимым. |
QStyle::PM_SubMenuOverlap |
? | Горизонтальное перекрытие подменю и его родительского элемента. |
QStyle::PM_TreeViewIndentation |
? | Отступ элементов в представлении дерева. Это значение перечисления было введено в Qt 5.4. |
QStyle::PM_HeaderDefaultSectionSizeHorizontal |
? | Размер секций по умолчанию в горизонтальном заголовке. Это значение перечисления было введено в Qt 5.5. |
QStyle::PM_HeaderDefaultSectionSizeVertical |
? | Размер секций по умолчанию в вертикальном заголовке. Это значение перечисления было введено в Qt 5.5. |
QStyle::PM_CustomBase |
0xf0000000 |
Базовое значение для настраиваемых пиксельных метрик. Настраиваемые значения должны быть больше этого значения. |
Следующие значения устарели:
| Постоянная | Значение | Описание |
|---|---|---|
QStyle::PM_DefaultTopLevelMargin |
? | Используйте PM_LayoutLeftMargin, PM_LayoutTopMargin, PM_LayoutRightMargin и PM_LayoutBottomMargin вместо этого. |
QStyle::PM_DefaultChildMargin |
? | Используйте PM_LayoutLeftMargin, PM_LayoutTopMargin, PM_LayoutRightMargin и PM_LayoutBottomMargin вместо этого. |
QStyle::PM_DefaultLayoutSpacing |
? | Используйте PM_LayoutHorizontalSpacing и PM_LayoutVerticalSpacing вместо этого. |
См. также pixelMetric().
enum QStyle::PrimitiveElement
Это перечисление описывает различные примитивные элементы. Примитивный элемент — это общий элемент графического интерфейса, например, индикатор флажка или фаска кнопки.
| Константа | Значение | Описание |
|---|---|---|
QStyle::PE_FrameStatusBar |
7 |
Устарело. Используйте PE_FrameStatusBarItem вместо этого. |
QStyle::PE_PanelButtonCommand |
? | Кнопка для инициирования действия, например, QPushButton. |
QStyle::PE_FrameDefaultButton |
1 |
Эта рамка вокруг стандартной кнопки, например, в диалоговом окне. |
QStyle::PE_PanelButtonBevel |
? | Общий элемент управления с выступами кнопки. |
QStyle::PE_PanelButtonTool |
? | Панель для кнопки инструмента, используется с QToolButton. |
QStyle::PE_PanelLineEdit |
? | Панель для QLineEdit. |
QStyle::PE_IndicatorButtonDropDown |
? | Индикатор выпадающей кнопки, например, кнопки инструмента, отображающей меню. |
QStyle::PE_FrameFocusRect |
3 |
Общий индикатор фокуса. |
QStyle::PE_IndicatorArrowUp |
? | Общий указатель вверх. |
QStyle::PE_IndicatorArrowDown |
? | Общий указатель вниз. |
QStyle::PE_IndicatorArrowRight |
? | Общий указатель вправо. |
QStyle::PE_IndicatorArrowLeft |
? | Общий указатель влево. |
QStyle::PE_IndicatorSpinUp |
? | Символ «вверх» для элемента управления списком, например, QSpinBox. |
QStyle::PE_IndicatorSpinDown |
? | Символ «вниз» для элемента управления списком. |
QStyle::PE_IndicatorSpinPlus |
? | Символ увеличения для элемента управления списком. |
QStyle::PE_IndicatorSpinMinus |
? | Символ уменьшения для элемента управления списком. |
QStyle::PE_IndicatorItemViewItemCheck |
PE_IndicatorViewItemCheck |
Индикатор включения/выключения для элемента представления. |
QStyle::PE_IndicatorCheckBox |
? | Индикатор включения/выключения, например, QCheckBox. |
QStyle::PE_IndicatorRadioButton |
? | Индикатор исключительного включения/выключения, например, QRadioButton. |
QStyle::PE_IndicatorDockWidgetResizeHandle |
? | Маркер изменения размера для окон причаливания. |
QStyle::PE_Frame |
0 |
Общее обрамление. |
QStyle::PE_FrameMenu |
6 |
Обрамление для всплывающих окон/меню; также см. QMenu. |
QStyle::PE_PanelMenuBar |
? | Панель для строчек меню. |
QStyle::PE_PanelScrollAreaCorner |
? | Панель в правом нижнем (или левом нижнем) углу области прокрутки. |
QStyle::PE_FrameDockWidget |
2 |
Панель-обрамление для окон причаливания и панелей инструментов. |
QStyle::PE_FrameTabWidget |
? | Обрамление для элементов вкладки. |
QStyle::PE_FrameLineEdit |
5 |
Панель-обрамление для элементов ввода текста. |
QStyle::PE_FrameGroupBox |
4 |
Панель-обрамление вокруг групповых коробок. |
QStyle::PE_FrameButtonBevel |
? | Панель-обрамление для выступа кнопки. |
QStyle::PE_FrameButtonTool |
? | Панель-обрамление для кнопки инструмента. |
QStyle::PE_IndicatorHeaderArrow |
? | Стрелка, используемая для указания сортировки в списке или заголовке таблицы. |
QStyle::PE_FrameStatusBarItem |
PE_FrameStatusBar |
Обрамление для элемента строки состояния; также см. QStatusBar. |
QStyle::PE_FrameWindow |
? | Обрамление вокруг окна MDI или прикрепленного окна. |
QStyle::PE_IndicatorMenuCheckMark |
? | Отметка «галочка» в меню. |
QStyle::PE_IndicatorProgressChunk |
? | Секция индикатора прогресс-бара; также см. QProgressBar. |
QStyle::PE_IndicatorBranch |
? | Линии, используемые для представления ветви дерева в представлении дерева. |
QStyle::PE_IndicatorToolBarHandle |
? | Маркер панели инструментов. |
QStyle::PE_IndicatorToolBarSeparator |
? | Разделитель на панели инструментов. |
QStyle::PE_PanelToolBar |
? | Панель для панели инструментов. |
QStyle::PE_PanelTipLabel |
? | Панель для метки подсказки. |
QStyle::PE_FrameTabBarBase |
? | Обрамление, отображаемое для панели вкладок, обычно отображаемое для панели вкладок, которая не является частью виджета вкладок. |
QStyle::PE_IndicatorTabTear |
? | Индикатор, показывающий, что вкладка частично скрыта за пределами видимой панели вкладок, когда имеется много вкладок. |
QStyle::PE_IndicatorColumnViewArrow |
? | Стрелка в QColumnView. |
QStyle::PE_Widget |
? | Простой QWidget. |
QStyle::PE_CustomBase |
0xf000000 |
Базовое значение для пользовательских примитивных элементов. Все значения выше этого зарезервированы для пользовательского использования. Пользовательские значения должны быть больше этого значения. |
QStyle::PE_IndicatorItemViewItemDrop |
? | Индикатор, отображаемый для показа того места, где элемент в представлении элементов собирается переместить во время операции перетаскивания и опускания в представлении элементов. |
QStyle::PE_PanelItemViewItem |
? | Фон элемента в представлении элементов. |
QStyle::PE_PanelItemViewRow |
? | Фон строки в представлении элементов. |
QStyle::PE_PanelStatusBar |
? | Панель строки состояния. |
QStyle::PE_IndicatorTabClose |
? | Кнопка закрытия на панели вкладок. |
QStyle::PE_PanelMenu |
? | Панель для меню. |
См. также drawPrimitive().
перечисление QStyle::RequestSoftwareInputPanel
Это перечисление описывает, при каких обстоятельствах виджеты, способные к вводу, запросят программную панель ввода.
| Константа | Значение | Описание |
|---|---|---|
QStyle::RSIP_OnMouseClickAndAlreadyFocused |
0 |
Запрашивает панель ввода, если пользователь щелкает по виджету, но только если он уже сфокусирован. |
QStyle::RSIP_OnMouseClick |
1 |
Запрашивает панель ввода, если пользователь щелкает по виджету. |
См. также QInputMethod.
перечисление QStyle::StandardPixmap
Это перечисление описывает доступные стандартные пиксельмапы. Стандартная пиксельмапа — это пиксельмапа, которая может следовать определённому стилю или руководству графического интерфейса.
| Константа | Значение | Описание |
|---|---|---|
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 |
Иконка компакт-диска. |
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 |
Используется для указания того, было ли изменение фокуса с помощью клавиатуры, например, клавиши табуляции, отмены табуляции или комбинации клавиш. |
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 является псевдонимом для QFlags<StateFlag>. Он хранит результат логической операции OR значений StateFlag.
См. также drawPrimitive().
enum QStyle::StyleHint
Это перечисление описывает доступные подсказки стиля. Подсказка стиля — это общая подсказка внешнего вида и/или ощущения.
| Постоянная | Значение | Описание |
|---|---|---|
QStyle::SH_EtchDisabledText |
0 |
Текст, отключенный в режиме "вытравливания", как в Windows. |
QStyle::SH_DitherDisabledText |
1 |
Текст, отключенный в режиме послойной модуляции, как в Motif. |
QStyle::SH_ScrollBar_ContextMenu |
? | Наличие контекстного меню в полосе прокрутки. |
QStyle::SH_ScrollBar_MiddleClickAbsolutePosition |
2 |
Логическое значение. Если true, двойной щелчок по полосе прокрутки перемещает ползунок в указанную позицию. Если false, двойной щелчок игнорируется. |
QStyle::SH_ScrollBar_LeftClickAbsolutePosition |
? | Логическое значение. Если true, одиночный щелчок по полосе прокрутки перемещает ползунок в указанную позицию. Если false, одиночный щелчок ведет себя соответствующим образом для каждого элемента управления. |
QStyle::SH_ScrollBar_ScrollWhenPointerLeavesControl |
3 |
Логическое значение. Если true, при нажатии на полосу прокрутки SubControl, удерживании кнопки мыши и перемещении указателя за пределы SubControl, прокрутка продолжается. Если false, прокрутка останавливается при выходе указателя за пределы SubControl. |
QStyle::SH_ScrollBar_RollBetweenButtons |
? | Логическое значение. Если 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 |
? | Ввод текста приводит к поиску меню с соответствующими элементами, иначе учитывается только мнемоника. |
QStyle::SH_Menu_AllowActiveAndDisabled |
14 |
Разрешает активность отключенных элементов меню. |
QStyle::SH_Menu_SpaceActivatesItem |
15 |
Нажатие клавиши пробел активирует элемент, как в Motif. |
QStyle::SH_Menu_SubMenuPopupDelay |
16 |
Количество миллисекунд ожидания перед открытием подменю (256 в Windows, 96 в Motif). |
QStyle::SH_Menu_Scrollable |
? | Поддержка прокрутки всплывающих меню. |
QStyle::SH_Menu_SloppySubMenus |
? | Поддержка перемещения курсора мыши в подменю при пересечении других пунктов меню. Поддерживается на большинстве современных платформ. |
QStyle::SH_Menu_SubMenuUniDirection |
? | С Qt 5.5. Если курсор должен перемещаться в сторону подменю (как в macOS) или может перемещаться в любом направлении, пока не достигнет подменю до истечения времени неточного таймаута. |
QStyle::SH_Menu_SubMenuUniDirectionFailCount |
? | С Qt 5.5. Если определен SH_Menu_SubMenuUniDirection, этот перечисление определяет количество неудачных перемещений мыши, после которых неточное подменю отбрасывается. Это может использоваться для контроля «строгости» алгоритма однонаправленности. |
QStyle::SH_Menu_SubMenuSloppySelectOtherActions |
? | С Qt 5.5. Выбираются ли другие пункты действий, когда курсор мыши перемещается к неточному подменю. |
QStyle::SH_Menu_SubMenuSloppyCloseTimeout |
? | С Qt 5.5. Таймаут для закрытия неточных подменю. |
QStyle::SH_Menu_SubMenuResetWhenReenteringParent |
? | С Qt 5.5. При переходе в родительское меню из дочернего подменю, следует ли сбросить состояние неточности, фактически закрывая дочернее и делая активным текущее подменю? |
QStyle::SH_Menu_SubMenuDontStartSloppyOnLeave |
? | С 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 |
? | Всплывающие окна должны заполнять весь экран при прокрутке? |
QStyle::SH_Menu_SelectionWrap |
? | Всплывающие окна должны позволять обёртку выборов, то есть при выборе должен выбираться первый элемент? |
QStyle::SH_ItemView_ChangeHighlightOnFocus |
22 |
Отключение выделенных элементов при потере фокуса. |
QStyle::SH_Widget_ShareActivation |
23 |
Включить совместную активацию с плавающими диалогами без модального типа. |
QStyle::SH_TabBar_SelectMouseType |
4 |
Какой тип события мыши должен вызывать выбор вкладки? |
QStyle::SH_ListViewExpand_SelectMouseType |
? | Какой тип события мыши должен вызывать выбор расширения списка? |
QStyle::SH_TabBar_PreferNoArrows |
? | Должна ли панель вкладок предлагать размер, чтобы предотвратить появление стрелок прокрутки? |
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 |
? | Нужно ли мигать курсору при выделении текста? |
QStyle::SH_RichText_FullWidthSelection |
? | Должны ли выделения richtext расширяться до полной ширины документа? |
QStyle::SH_GroupBox_TextLabelVerticalAlignment |
? | Как выровнять текстовую метку в группе? |
QStyle::SH_GroupBox_TextLabelColor |
? | Как рисовать текстовую метку в группе? |
QStyle::SH_DialogButtons_DefaultButton |
? | Кнопка, которая получает стандартный статус в виджете кнопок диалогового окна. |
QStyle::SH_ToolBox_SelectedPageTitleBold |
? | Жирность выделенного заголовка страницы в QToolBox. |
QStyle::SH_LineEdit_PasswordCharacter |
? | Символ Юникода, используемый для паролей. |
QStyle::SH_LineEdit_PasswordMaskDelay |
? | Определяет задержку перед маской видимого символа паролем, в миллисекундах. Это значение перечисления было добавлено в Qt 5.4. |
QStyle::SH_Table_GridLineColor |
? | Значение RGB сетки для таблицы. |
QStyle::SH_UnderlineShortcut |
? | Подчёркиваются ли сочетания клавиш. |
QStyle::SH_SpellCheckUnderlineStyle |
? | Значение QTextCharFormat::UnderlineStyle, которое определяет способ подчёркивания слов с ошибками. |
QStyle::SH_SpinBox_AnimateButton |
? | Анимировать щелчок при нажатии клавиш вверх или вниз в спин-боксе. |
QStyle::SH_SpinBox_KeyPressAutoRepeatRate |
? | Интервал автоповтора для нажатий клавиш спин-бокса. |
QStyle::SH_SpinBox_ClickAutoRepeatRate |
? | Интервал автоповтора для щелчков мышью в спин-боксе. |
QStyle::SH_SpinBox_ClickAutoRepeatThreshold |
? | Порог автоповтора для щелчков мышью в спин-боксе. |
QStyle::SH_ToolTipLabel_Opacity |
? | Целое число, указывающее непрозрачность метки подсказки; 0 — полностью прозрачно, 255 — полностью непрозрачно. |
QStyle::SH_DrawMenuBarSeparator |
? | Указывает, рисует ли строка меню разделители. |
QStyle::SH_TitleBar_ModifyNotification |
? | Указывает, должна ли строка заголовка отображать '*' для изменённых окон. |
QStyle::SH_Button_FocusPolicy |
? | Политика фокуса по умолчанию для кнопок. |
QStyle::SH_CustomBase |
0xf0000000 |
Базовое значение для пользовательских подсказок стиля. Пользовательские значения должны быть больше этого значения. |
QStyle::SH_MessageBox_UseBorderForButtonSpacing |
? | Логическое значение, указывающее, использовать ли границу кнопок (вычисленную как половина высоты кнопки) для отступа кнопки в диалоговом окне. |
QStyle::SH_MessageBox_CenterButtons |
? | Логическое значение, указывающее, должны ли кнопки в диалоговом окне быть центрированы или нет (см. QDialogButtonBox::setCentered()). |
QStyle::SH_MessageBox_TextInteractionFlags |
? | Логическое значение, указывающее, должно ли текст в диалоговом окне допускать взаимодействие пользователя (например, выбор) или нет. |
QStyle::SH_TitleBar_AutoRaise |
? | Логическое значение, указывающее, должны ли элементы управления на строке заголовка обновляться при наведении курсора на них. |
QStyle::SH_ToolButton_PopupDelay |
? | Целое число, указывающее задержку всплытия в миллисекундах для меню, присоединённых к кнопкам инструментов. |
QStyle::SH_FocusFrame_Mask |
? | Маска рамки фокуса. |
QStyle::SH_RubberBand_Mask |
? | Маска резиновой ленты. |
QStyle::SH_WindowFrame_Mask |
? | Маска рамки окна. |
QStyle::SH_SpinControls_DisableOnBounds |
? | Определяет, будут ли элементы управления спин-боксом отображаться как отключенные при достижении границ диапазона спин-бокса. |
QStyle::SH_Dial_BackgroundRole |
? | Определяет предпочтительный роль фона стиля (как QPalette::ColorRole) для виджета шкалы. |
QStyle::SH_ComboBox_LayoutDirection |
? | Направление макета для комбинированного поля. По умолчанию оно должно быть таким же, как указано в переменной QStyleOption::direction. |
QStyle::SH_ItemView_EllipsisLocation |
? | Место, где должны быть добавлены многоточия для текста элемента, слишком длинного для отображения в элементе представления. |
QStyle::SH_ItemView_ShowDecorationSelected |
? | При выборе элемента в представлении элементов также подсвечивается ветвь или другое украшение. |
QStyle::SH_ItemView_ActivateItemOnSingleClick |
? | Вызвать сигнал активизации, когда пользователь выполняет одиночный щелчок по элементу в представлении элементов. В противном случае сигнал генерируется при двойном щелчке по элементу. |
QStyle::SH_Slider_AbsoluteSetButtons |
? | Какие кнопки мыши заставляют ползунок установить значение в положение, по которому произошёл щелчок. |
QStyle::SH_Slider_PageSetButtons |
? | Какие кнопки мыши заставляют ползунок перемещаться на шаг вперёд или назад. |
QStyle::SH_TabBar_ElideMode |
? | Стиль обрезки по умолчанию для панели вкладок. |
QStyle::SH_DialogButtonLayout |
? | Управляет способом расположения кнопок в QDialogButtonBox, возвращает перечисление QDialogButtonBox::ButtonLayout. |
QStyle::SH_WizardStyle |
? | Управляет внешним видом QWizard. Возвращает перечисление QWizard::WizardStyle. |
QStyle::SH_FormLayoutWrapPolicy |
? | Устанавливает по умолчанию способ переносить строки в QFormLayout. Возвращает перечисление QFormLayout::RowWrapPolicy. |
QStyle::SH_FormLayoutFieldGrowthPolicy |
? | Устанавливает по умолчанию способ роста полей в QFormLayout. Возвращает перечисление QFormLayout::FieldGrowthPolicy. |
QStyle::SH_FormLayoutFormAlignment |
? | Устанавливает по умолчанию способ выравнивания содержимого в QFormLayout в доступном пространстве. Возвращает перечисление Qt::Alignment. |
QStyle::SH_FormLayoutLabelAlignment |
? | Устанавливает по умолчанию способ выравнивания меток в QFormLayout в доступном пространстве. Возвращает перечисление Qt::Alignment. |
QStyle::SH_ItemView_ArrowKeysNavigateIntoChildren |
? | Управляет выбором первого дочернего элемента при раскрытии дерева и нажатии стрелки вправо. |
QStyle::SH_ComboBox_PopupFrameStyle |
? | Стиль рамки, используемый при рисовании всплывающего меню выпадающего списка. |
QStyle::SH_DialogButtonBox_ButtonsHaveIcons |
? | Указывает, должны ли кнопки StandardButtons в QDialogButtonBox иметь значки или нет. |
QStyle::SH_ItemView_MovementWithoutUpdatingSelection |
? | Представление элементов способно указывать текущий элемент без изменения выделения. |
QStyle::SH_ToolTip_Mask |
? | Маска всплывающей подсказки. |
QStyle::SH_FocusFrame_AboveWidget |
? | Фрейм FocusFrame расположено поверх виджета, на который он нацелен. |
QStyle::SH_TextControl_FocusIndicatorTextCharFormat |
? | Указывает формат текста, используемый для выделения закреплённых анкеров в документах форматированного текста, отображаемых, например, в QTextBrowser. Формат должен быть QTextCharFormat, возвращаемым в варианте возвращаемого значения QStyleHintReturnVariant. Свойство QTextFormat::OutlinePen используется для контура, а QTextFormat::BackgroundBrush — для фона выделенной области. |
QStyle::SH_Menu_FlashTriggeredItem |
? | Вызванный элементом мигание. |
QStyle::SH_Menu_FadeOutOnHide |
? | Затухание меню вместо его немедленного скрытия. |
QStyle::SH_TabWidget_DefaultTabPosition |
? | Положение панели вкладок по умолчанию в виджете вкладок. |
QStyle::SH_ToolBar_Movable |
? | Определяет, может ли панель инструментов перемещаться по умолчанию. |
QStyle::SH_ItemView_PaintAlternatingRowColorsForEmptyArea |
? | Рисует ли QTreeView чередующиеся цвета строк для области, не содержащей элементов. |
QStyle::SH_Menu_Mask |
? | Маска всплывающего меню. |
QStyle::SH_ItemView_DrawDelegateFrame |
? | Определяет, должна ли быть рамка для виджета делегата. |
QStyle::SH_TabBar_CloseButtonPosition |
? | Определяет положение кнопки закрытия на вкладке в панели вкладок. |
QStyle::SH_DockWidget_ButtonsHaveFrame |
? | Определяет, должны ли кнопки dockwidget иметь рамки. Значение по умолчанию — true. |
QStyle::SH_ToolButtonStyle |
? | Определяет стиль по умолчанию для кнопок инструментов, который использует Qt::ToolButtonFollowStyle. |
QStyle::SH_RequestSoftwareInputPanel |
? | Определяет, когда виртуальная панель ввода должна быть запрошена виджетами ввода. Возвращает перечисление типа QStyle::RequestSoftwareInputPanel. |
QStyle::SH_ScrollBar_Transient |
? | Определяет, поддерживает ли стиль временные полосы прокрутки. Временные полосы прокрутки появляются при прокрутке содержимого и исчезают, когда они больше не нужны. |
QStyle::SH_Menu_SupportsSections |
? | Определяет, отображает ли стиль разделы в меню или рассматривает их как обычные разделители. Разделы — это разделители с текстом и подсказкой иконки. |
QStyle::SH_ToolTip_WakeUpDelay |
? | Определяет задержку (в миллисекундах) перед отображением всплывающей подсказки. |
QStyle::SH_ToolTip_FallAsleepDelay |
? | Определяет задержку (в миллисекундах) перед тем, как потребуется новое время пробуждения при отображении всплывающей подсказки (обратите внимание: отображение, а не скрытие). Когда новое время пробуждения не требуется, запрашиваемая пользователем всплывающая подсказка будет отображаться практически мгновенно. |
QStyle::SH_Widget_Animate |
? | Определяет, должен ли виджет отображать анимации, например, переход между состояниями «выбрано» и «не выбрано» в флажке. Это значение перечисления было добавлено в Qt 5.2. |
QStyle::SH_Splitter_OpaqueResize |
? | Определяет, является ли изменение размера непрозрачным. Это значение перечисления было добавлено в Qt 5.2 |
QStyle::SH_TabBar_ChangeCurrentDelay |
? | Определяет задержку (в миллисекундах) перед изменением текущей вкладки при перетаскивании над панелью вкладок. Это значение перечисления было добавлено в Qt 5.4 |
См. также 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 является псевдонимом для QFlags<SubControl>. Он хранит логическое ИЛИ комбинацию значений SubControl.
См. также ComplexControl.
enum QStyle::SubElement
Это перечисление представляет собой подобласть виджета. Реализации стиля используют эти области для рисования различных частей виджета.
| Константа | Значение | Описание |
|---|---|---|
QStyle::SE_PushButtonContents |
0 |
Область, содержащая метку (иконку с текстом или пиксельным изображением). |
QStyle::SE_PushButtonFocusRect |
1 |
Область для рамки фокуса (обычно больше, чем область содержимого). |
QStyle::SE_PushButtonLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_CheckBoxIndicator |
2 |
Область для индикатора состояния (например, галочки). |
QStyle::SE_CheckBoxContents |
3 |
Область для метки (текста или пиксельного изображения). |
QStyle::SE_CheckBoxFocusRect |
4 |
Область для индикатора фокуса. |
QStyle::SE_CheckBoxClickRect |
5 |
Нажимаемая область, по умолчанию SE_CheckBoxFocusRect. |
QStyle::SE_CheckBoxLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_DateTimeEditLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_RadioButtonIndicator |
6 |
Область для индикатора состояния. |
QStyle::SE_RadioButtonContents |
7 |
Область для метки. |
QStyle::SE_RadioButtonFocusRect |
8 |
Область для индикатора фокуса. |
QStyle::SE_RadioButtonClickRect |
9 |
Нажимаемая область, по умолчанию SE_RadioButtonFocusRect. |
QStyle::SE_RadioButtonLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_ComboBoxFocusRect |
10 |
Область для индикатора фокуса. |
QStyle::SE_SliderFocusRect |
11 |
Область для индикатора фокуса. |
QStyle::SE_SliderLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_SpinBoxLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_ProgressBarGroove |
12 |
Область для выемки. |
QStyle::SE_ProgressBarContents |
13 |
Область для индикатора прогресса. |
QStyle::SE_ProgressBarLabel |
14 |
Область для текстовой метки. |
QStyle::SE_ProgressBarLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_FrameContents |
? | Область содержимого фрейма. |
QStyle::SE_ShapedFrameContents |
? | Область содержимого фрейма, использующая форму из QStyleOptionFrame; см. QFrame |
QStyle::SE_FrameLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_HeaderArrow |
17 |
Область для индикатора сортировки заголовка. |
QStyle::SE_HeaderLabel |
16 |
Область для метки в заголовке. |
QStyle::SE_LabelLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_LineEditContents |
? | Область содержимого поля ввода. |
QStyle::SE_TabWidgetLeftCorner |
21 |
Область виджета левого угла в виджете вкладок. |
QStyle::SE_TabWidgetRightCorner |
22 |
Область виджета правого угла в виджете вкладок. |
QStyle::SE_TabWidgetTabBar |
18 |
Область виджета панели вкладок в виджете вкладок. |
QStyle::SE_TabWidgetTabContents |
20 |
Область содержимого виджета вкладок. |
QStyle::SE_TabWidgetTabPane |
19 |
Область панели виджета вкладок. |
QStyle::SE_TabWidgetLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_ToolBoxTabContents |
15 |
Область для иконки и метки вкладки виджета инструментов. |
QStyle::SE_ToolButtonLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_ItemViewItemCheckIndicator |
SE_ViewItemCheckIndicator |
Область для галочки элемента списка. |
QStyle::SE_TabBarTearIndicator |
? | Область для индикатора разрыва на панели вкладок со стрелками прокрутки. |
QStyle::SE_TreeViewDisclosureItem |
? | Область для фактического элемента раскрытия в ветви дерева. |
QStyle::SE_DialogButtonBoxLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_GroupBoxLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_CustomBase |
0xf0000000 |
Базовое значение для пользовательских подэлементов. Пользовательские значения должны быть больше этого значения. |
QStyle::SE_DockWidgetFloatButton |
? | Плавающая кнопка виджета панели инструментов. |
QStyle::SE_DockWidgetTitleBarText |
? | Границы текста заголовка виджета панели инструментов. |
QStyle::SE_DockWidgetCloseButton |
? | Кнопка закрытия виджета панели инструментов. |
QStyle::SE_DockWidgetIcon |
? | Иконка виджета панели инструментов. |
QStyle::SE_ComboBoxLayoutItem |
? | Область, учитываемая родительской компоновкой. |
QStyle::SE_ItemViewItemDecoration |
? | Область для декорации элемента списка (иконки). |
QStyle::SE_ItemViewItemText |
? | Область для текста элемента списка. |
QStyle::SE_ItemViewItemFocusRect |
? | Область для рамки фокуса элемента списка. |
QStyle::SE_TabBarTabLeftButton |
? | Область для виджета слева от вкладки на панели вкладок. |
QStyle::SE_TabBarTabRightButton |
? | Область для виджета справа от вкладки на панели вкладок. |
QStyle::SE_TabBarTabText |
? | Область для текста на вкладке на панели вкладок. |
QStyle::SE_ToolBarHandle |
? | Область для ручки панели инструментов. |
См. также subElementRect().
Документация по функциям-членам
QStyle::QStyle()
Создаёт объект стиля.
[virtual] QStyle::~QStyle()
Уничтожает объект стиля.
[static] QRect QStyle::alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize &size, const QRect &rectangle)
Возвращает новый прямоугольник заданного размера, выровненный с заданным прямоугольником в соответствии с указанным выравниванием и направлением.
int QStyle::combinedLayoutSpacing(QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption *option = Q_NULLPTR, QWidget *widget = Q_NULLPTR) const
Возвращает интервал, который следует использовать между controls1 и controls2 в макете. orientation указывает, расположены ли элементы управления рядом или вертикально друг под другом. Параметр option может использоваться для передачи дополнительной информации о родительском виджете. Параметр widget является необязательным и также может быть использован, если option равен 0.
controls1 и controls2 представляют собой логическое ИЛИ (OR) сочетание одного или нескольких типов элементов управления.
Эта функция вызывается системой макета. Она используется только в том случае, если PM_LayoutHorizontalSpacing или PM_LayoutVerticalSpacing возвращают отрицательное значение.
Данная функция была введена в Qt 4.3.
См. также layoutSpacing().
[pure virtual] void QStyle::drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = Q_NULLPTR) const
Отрисовывает указанный control с помощью предоставленного painter с параметрами стиля, заданными в option.
Аргумент widget является необязательным и может быть использован для помощи в отрисовке элемента управления.
Параметр option — это указатель на объект QStyleOptionComplex, который может быть приведён к правильному подклассу с помощью функции qstyleoption_cast(). Обратите внимание, что член rect указанного option должен быть в логических координатах. Реализации этой функции должны использовать visualRect(), чтобы преобразовать логические координаты в экранные, прежде чем вызывать функцию drawPrimitive() или drawControl().
В таблице ниже перечислены элементы сложных элементов управления и соответствующие им подклассы QStyleOptionComplex. Параметры стиля содержат все необходимые параметры для отрисовки элементов управления, включая 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(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = Q_NULLPTR) const
Отрисовывает указанный element с помощью предоставленного painter с параметрами стиля, заданными в option.
Аргумент widget является необязательным и может быть использован для помощи в отрисовке элемента управления. Параметр option — это указатель на объект QStyleOption, который может быть приведён к правильному подклассу с помощью функции qstyleoption_cast().
В таблице ниже перечислены элементы управления и соответствующие им подклассы QStyleOption. Параметры стиля содержат все необходимые параметры для отрисовки элементов управления, включая 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 | Устанавливается, если кнопка в состоянии 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(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = Q_NULLPTR) const
Рисует заданный примитивный элемент element с помощью painter, используя параметры стиля, указанные в option.
Аргумент widget необязательный и может содержать виджет, который может помочь в рисовании примитивного элемента.
В таблице ниже перечислены примитивные элементы и их соответствующие подклассы QStyleOption. Параметры стиля содержат все параметры, необходимые для рисования элементов, включая QStyleOption::state, который содержит флаги стиля, используемые при рисовании. В таблице также описаны флаги, которые устанавливаются при приведении указанного параметра к соответствующему подклассу.
Обратите внимание, что если примитивный элемент не указан здесь, это потому, что он использует обычный объект QStyleOption.
| Примитивный элемент | Подкласс 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 может передавать дополнительную информацию, но он должен содержать палитру.
Обратите внимание, что не все пиксельмапы будут соответствовать, в этом случае возвращаемая пиксельмапа — это простая копия.
См. также QIcon.
[pure virtual] SubControl QStyle::hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = Q_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 = Q_NULLPTR, const QWidget *widget = Q_NULLPTR) const
Возвращает отступ, который следует использовать между control1 и control2 в макете. orientation указывает, расположены ли элементы управления рядом или друг под другом. Параметр option может использоваться для передачи дополнительной информации о родительском виджете. Параметр widget необязателен и также может использоваться, если option равен 0.
Эта функция вызывается системой макета. Она используется только если PM_LayoutHorizontalSpacing или PM_LayoutVerticalSpacing возвращают отрицательное значение.
Эта функция была введена в Qt 4.3.
См. также combinedLayoutSpacing().
[pure virtual] int QStyle::pixelMetric(PixelMetric metric, const QStyleOption *option = Q_NULLPTR, const QWidget *widget = Q_NULLPTR) const
Возвращает значение заданного пиксельного metric.
Указанные option и widget могут использоваться для вычисления метрики. В общем случае аргумент widget не используется. Аргумент option может быть приведён к соответствующему типу с помощью функции qstyleoption_cast(). Обратите внимание, что option может быть нулевым даже для PixelMetrics, которые могут его использовать. В таблице ниже приведены соответствующие преобразования option:
Некоторые пиксельные метрики вызываются виджетами, а некоторые только внутренне стилем. Если метрика не вызывается виджетом, автору стиля предоставляется право ее использовать. Для некоторых стилей это может быть неуместно.
[virtual] void QStyle::polish(QWidget *widget)
Инициализирует внешний вид заданного widget.
Эта функция вызывается для каждого виджета в какой-то момент после его полного создания, но непосредственно перед его первым отображением.
Обратите внимание, что реализация по умолчанию ничего не делает. Разумные действия в этой функции могут заключаться в вызове функции QWidget::setBackgroundMode() для виджета. Не используйте функцию для установки, например, геометрии. Переопределение этой функции предоставляет «задний ход», с помощью которого внешний вид виджета может быть изменён, но в Qt's style engine это редко необходимо; вместо этого переопределите 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(ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget = Q_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)
Преобразует заданную позицию в пикселях в логическое значение. 0 отображается как параметр min, span отображается как max, а другие значения распределяются равномерно между ними.
Эта функция может обрабатывать весь диапазон целых чисел без переполнения.
По умолчанию эта функция предполагает, что максимальное значение находится справа для горизонтальных элементов и внизу для вертикальных. Установите параметр upsideDown в значение true, чтобы изменить это поведение.
См. также sliderPositionFromValue().
[pure virtual] QIcon QStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption *option = Q_NULLPTR, const QWidget *widget = Q_NULLPTR) const
Возвращает значок для заданного standardIcon.
standardIcon — это стандартное пиктографическое изображение, которое может соответствовать некоторому существующему стилю или руководству для графического интерфейса. Аргумент option может быть использован для передачи дополнительной информации, необходимой при определении соответствующей пиктограммы. Аргумент widget является необязательным и также может использоваться для помощи в определении пиктограммы.
Эта функция была введена в Qt 4.1.
[virtual] QPalette QStyle::standardPalette() const
Возвращает стандартную палитру стиля.
Обратите внимание, что на системах, поддерживающих системные цвета, стандартная палитра стиля не используется. В частности, стили Windows XP, Vista и Mac не используют стандартную палитру, но используют собственные механизмы тем. При использовании этих стилей не следует устанавливать палитру с помощью QApplication::setPalette().
См. также QApplication::setPalette().
[pure virtual] int QStyle::styleHint(StyleHint hint, const QStyleOption *option = Q_NULLPTR, const QWidget *widget = Q_NULLPTR, QStyleHintReturn *returnData = Q_NULLPTR) const
Возвращает целое число, представляющее указанный стиль hint для данного widget, описанного предоставленным стилем option.
returnData используется, когда запрашивающему widget необходимы более подробные данные, чем целое число, возвращаемое styleHint(). Подробности см. в описании класса QStyleHintReturn.
[pure virtual] QRect QStyle::subControlRect(ComplexControl control, const QStyleOptionComplex *option, SubControl subControl, const QWidget *widget = Q_NULLPTR) const
Возвращает прямоугольник, содержащий указанный subControl заданного сложного control (со стилем, заданным option). Прямоугольник задаётся в координатах экрана.
Аргумент option — указатель на QStyleOptionComplex или один из его подклассов, и может быть приведён к соответствующему типу с помощью функции qstyleoption_cast(). Подробности см. в drawComplexControl(). Аргумент widget является необязательным и может содержать дополнительную информацию для функции.
См. также drawComplexControl().
[pure virtual] QRect QStyle::subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget = Q_NULLPTR) const
Возвращает подобласть для данного element, как описано в предоставленном стиле option. Возвращаемый прямоугольник задаётся в координатах экрана.
Аргумент widget необязателен и может использоваться для определения области. Объект QStyleOption может быть приведён к соответствующему типу с помощью функции qstyleoption_cast(). Соответствующие преобразования option приведены в таблице ниже:
[virtual] void QStyle::unpolish(QWidget *widget)
Деактивирует внешний вид заданного widget.
Эта функция является обратной к polish(). Она вызывается для каждого отполированного widget, когда стиль динамически изменяется; предыдущий стиль должен деактивировать свои настройки, прежде чем новый стиль сможет снова их активировать.
Обратите внимание, что unpolish() будет вызвана только если widget уничтожен. Это может вызвать проблемы в некоторых случаях, например, если вы удалите widget из пользовательского интерфейса, сохраните его в кэше, а затем снова вставите его после изменения стиля; некоторые классы Qt кэшируют свои widget.
См. также 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/archives/qt-5.6/qstyle.html