Spec-Zone.ru › Qt

Класс QIconEngine

Класс QIconEngine предоставляет абстрактный базовый класс для рендереров QIcon. Подробнее...

Заголовок: #include <QIconEngine>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
  • Список всех членов, включая унаследованные

Общедоступные типы

Структура ScaledPixmapArgument
Перечисление IconEngineHook { IsNullHook, ScaledPixmapHook }

Общедоступные функции

QIconEngine()
виртуальный ~QIconEngine()
виртуальный QSize actualSize(const QSize &size, QIcon::Mode mode, QIcon::State state)
виртуальный void addFile(const QString &fileName, const QSize &size, QIcon::Mode mode, QIcon::State state)
виртуальный void addPixmap(const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state)
виртуальный QList<QSize> availableSizes(QIcon::Mode mode = QIcon::Normal, QIcon::State state = QIcon::Off)
виртуальный QIconEngine * clone() const = 0
виртуальный QString iconName()
виртуальный bool isNull()
виртуальный QString key() const
виртуальный void paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) = 0
виртуальный QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state)
виртуальный bool read(QDataStream &in)
виртуальный QPixmap scaledPixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale)
виртуальный void virtual_hook(int id, void *data)
виртуальный bool write(QDataStream &out) const

Подробное описание

Двигатель иконок предоставляет функции рендеринга для QIcon. Каждая иконка имеет соответствующий движок иконок, который отвечает за отрисовку иконки с запрошенным размером, режимом и состоянием.

Иконка рендерится функцией paint(), и иконку дополнительно можно получить в виде пиксельной карты с помощью функции pixmap() (реализация по умолчанию просто использует paint() для достижения этого). Функция addPixmap() может использоваться для добавления новых пиксельных карт в движок иконок и используется QIcon для добавления специализированных пользовательских пиксельных карт.

Функции paint(), pixmap() и addPixmap() являются виртуальными и, следовательно, могут быть переопределены в подклассах QIconEngine.

См. также QIconEnginePlugin.

Документация по типам членов

Перечисление QIconEngine::IconEngineHook

Эти значения перечисления используются для virtual_hook() для разрешения дополнительных запросов к движку иконок без нарушения бинарной совместимости.

Константа Значение Описание
QIconEngine::IsNullHook 3 Разрешает запрос, если этот движок представляет нулевую иконку. Аргумент data функции virtual_hook() — указатель на bool, который может быть установлен в true, если иконка нулевая. Это значение перечисления было добавлено в Qt 5.7.
QIconEngine::ScaledPixmapHook 4 Предоставляет способ получения пиксельной карты, масштабированной в соответствии с заданным масштабом (обычно равным коэффициенту пикселей устройства). Аргумент data функции virtual_hook() — указатель на ScaledPixmapArgument, содержащий входные и выходные аргументы. Это значение перечисления было добавлено в Qt 5.9.

См. также virtual_hook().

Документация по функциям-членам

[since 5.6] QIconEngine::QIconEngine()

Конструирует движок иконок.

Эта функция была добавлена в Qt 5.6.

[virtual] QIconEngine::~QIconEngine()

Удаляет движок иконок.

[virtual] QSize QIconEngine::actualSize(const QSize &size, QIcon::Mode mode, QIcon::State state)

Возвращает фактический размер иконки, который движок предоставляет для запрошенного размера, режима и состояния. Реализация по умолчанию возвращает заданный size.

[virtual] void QIconEngine::addFile(const QString &fileName, const QSize &size, QIcon::Mode mode, QIcon::State state)

Вызывается функцией QIcon::addFile(). Добавляет специализированную пиксельную карту из файла с заданным fileName, size, mode и state. Движок иконок на основе пиксельных карт хранит все переданные имена файлов и загружает пиксельные карты по запросу вместо использования масштабированных пиксельных карт, если размер пиксельной карты совпадает с размером запрашиваемой иконки. Пользовательские движки иконок, реализующие масштабируемые векторные форматы, могут игнорировать любые дополнительные файлы.

[virtual] void QIconEngine::addPixmap(const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state)

Вызывается функцией QIcon::addPixmap(). Добавляет специализированную pixmap для заданного mode и state. Движок иконок на основе пиксельных карт хранит все переданные пиксельные карты и использует их вместо масштабированных пиксельных карт, если размер пиксельной карты совпадает с размером запрашиваемой иконки. Пользовательские движки иконок, реализующие масштабируемые векторные форматы, могут игнорировать любые дополнительные пиксельные карты.

[virtual] QList<QSize> QIconEngine::availableSizes(QIcon::Mode mode = QIcon::Normal, QIcon::State state = QIcon::Off)

Возвращает размеры всех изображений, содержащихся в движке для конкретного mode и state.

[pure virtual] QIconEngine *QIconEngine::clone() const

Переопределите этот метод для возвращения копии этого движка иконок.

[virtual] QString QIconEngine::iconName()

Возвращает имя, используемое для создания движка, если оно доступно.

[virtual, since 5.7] bool QIconEngine::isNull()

Возвращает true, если этот движок иконок представляет нулевую QIcon.

Примечание: Это вспомогательный метод, и фактическая работа выполняется методом virtual_hook(), поэтому этот метод зависит от поддержки движка иконок и может не работать со всеми движками иконок.

Эта функция была добавлена в Qt 5.7.

[virtual] QString QIconEngine::key() const

Возвращает ключ, идентифицирующий этот движок иконок.

[pure virtual] void QIconEngine::paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state)

Использует заданный painter для отрисовки значка с требуемым mode и state в прямоугольнике rect.

[virtual] QPixmap QIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state)

Возвращает значок в виде pixmap с требуемым размером size, mode и state. По умолчанию, создаётся новый pixmap и вызывается paint() для его заполнения.

[virtual] bool QIconEngine::read(QDataStream &in)

Читает содержимое движка значка из QDataStream in. Возвращает true, если содержимое было прочитано; в противном случае возвращает false.

По умолчанию, QIconEngine всегда возвращает false.

[virtual, since 5.9] QPixmap QIconEngine::scaledPixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale)

Возвращает pixmap для заданного размера size, mode, state и scale.

Аргумент scale обычно равен коэффициенту масштабирования пикселей устройства (device pixel ratio) отображения.

Примечание: Это вспомогательный метод, и фактическая работа выполняется методом virtual_hook(). Таким образом, этот метод зависит от поддержки движком значка и может не работать со всеми движками значков.

Примечание: Некоторые движки могут привести scale к целому числу.

Эта функция была добавлена в Qt 5.9.

См. также ScaledPixmapArgument.

[virtual] void QIconEngine::virtual_hook(int id, void *data)

Дополнительный метод для расширения QIconEngine без добавления новых виртуальных методов (и без нарушения бинарной совместимости). Фактическое действие и формат data зависит от аргумента id, который фактически является константой из перечисления IconEngineHook.

См. также IconEngineHook.

[virtual] bool QIconEngine::write(QDataStream &out) const

Записывает содержимое этого движка в QDataStream out. Возвращает true, если содержимое было записано; в противном случае возвращает false.

По умолчанию, QIconEngine всегда возвращает false.

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

Spec-Zone.ru

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