Spec-Zone.ru › Qt 5.13

Стилизация

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

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-5.13/qwidget-styling.html

Spec-Zone.ru

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