Spec-Zone.ru › Qt 6.0

Стилизация

Встроенные виджеты Qt используют класс QStyle для практически всех своих операций рисования. QStyle — это абстрактный базовый класс, который инкапсулирует внешний вид графического интерфейса пользователя и может быть использован для того, чтобы виджеты выглядели точно так же, как эквивалентные системные виджеты, или чтобы придать виджетам пользовательский внешний вид.

Qt предоставляет набор подклассов QStyle, которые эмулируют родной внешний вид различных платформ, поддерживаемых Qt (QWindowsStyle, QMacStyle и т. д.). Эти стили встроены в модуль Qt GUI, а доступ к другим стилям можно получить с помощью механизма плагинов Qt.

Большинство функций для рисования элементов стиля принимают четыре аргумента:

  • значение перечисления, определяющее, какой графический элемент следует нарисовать
  • объект QStyleOption, определяющий, как и где отобразить этот элемент
  • объект QPainter, который должен использоваться для рисования элемента
  • объект QWidget, на котором выполняется рисование (необязательно)

Стиль получает всю необходимую информацию для отображения графического элемента из класса QStyleOption. Виджет передается в качестве последнего аргумента в случае, если стиль нуждается в нем для выполнения специальных эффектов (например, анимированных кнопок по умолчанию в macOS), но это не обязательно. Фактически, QStyle может использоваться для рисования на любом устройстве рисования (не только на виджетах), в этом случае аргумент виджета является нулевым указателем.

Система рисования также предоставляет класс QStylePainter, наследуемый от QPainter. QStylePainter — это вспомогательный класс для рисования элементов QStyle внутри виджета и расширяет QPainter набором функций высокого уровня для рисования, реализованных поверх API QStyle. Преимущество использования QStylePainter заключается в том, что списки параметров значительно сокращаются.

QIcon

Класс QIcon предоставляет масштабируемые значки в различных режимах и состояниях.

QIcon может генерировать растровые изображения, отражающие состояние, режим и размер значка. Эти растровые изображения генерируются из набора растровых изображений, доступных для значка, и используются виджетами Qt для отображения значка, представляющего определённое действие.

Отображение объекта QIcon обрабатывается классом QIconEngine. Каждый значок имеет соответствующий движок значков, который отвечает за рисование значка с заданным размером, режимом и состоянием.

Дополнительную информацию о стилизации виджетов и их внешнем виде см. в разделе Стили и стилизованные виджеты.

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

Spec-Zone.ru

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