Spec-Zone.ru › Qt 5.13

Класс QIconEngine

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

Заголовок: #include <QIconEngine>
qmake: QT += gui
  • Список всех членов, включая унаследованные

Типы public

AvailableSizesArgument
ScaledPixmapArgument
Перечисление IconEngineHook { AvailableSizesHook, IconNameHook, IsNullHook, ScaledPixmapHook }

Функции public

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

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

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

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

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

См. также QIconEnginePlugin.

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

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

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

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

Это перечисление было введено или изменено в Qt 4.5.

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

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

QIconEngine::QIconEngine()

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

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

[virtual] QIconEngine::~QIconEngine()

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

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

Возвращает фактический размер иконки, предоставляемой движком для запрошенного size, mode и 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. По умолчанию движок на основе пикселей сохраняет все предоставленные pixmap и использует их вместо масштабированных pixmap, если размер пикселей соответствует размеру запрошенной иконки. Пользовательские движки иконок, реализующие масштабируемые векторные форматы, могут игнорировать любые дополнительные пиксели.

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

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

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

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

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

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

[virtual] QString QIconEngine::iconName() const

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

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

Функция была добавлена в Qt 4.7.

bool QIconEngine::isNull() const

Возвращает 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.

QPixmap QIconEngine::scaledPixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale)

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

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

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

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

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

См. также ScaledPixmapArgument.

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

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

Функция была добавлена в Qt 4.5.

См. также 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-5.13/qiconengine.html

Spec-Zone.ru

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