Класс QIconEngine
Класс QIconEngine предоставляет абстрактный базовый класс для рендереров QIcon. Подробнее...
| Заголовок: | #include <QIconEngine> |
| qmake: | QT += gui |
Типы
| класс | AvailableSizesArgument |
| перечисление | IconEngineHook { AvailableSizesHook, IconNameHook } |
Открытые функции
| 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 |
| 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) |
| virtual void | virtual_hook(int id, void *data) |
| virtual bool | write(QDataStream &out) const |
Подробное описание
Класс QIconEngine предоставляет абстрактный базовый класс для рендереров QIcon.
Движок иконок предоставляет функции отрисовки для QIcon. Каждая иконка имеет соответствующий движок иконок, который отвечает за отрисовку иконки с запрошенным размером, режимом и состоянием.
Иконка отрисовывается функцией paint(), а иконку также можно получить в виде QPixmap с помощью функции pixmap() (по умолчанию реализация просто использует paint() для этого). Функция addPixmap() может быть использована для добавления новых QPixmap в движок иконок, и используется QIcon для добавления специализированных пользовательских QPixmap.
Функции paint(), pixmap() и addPixmap() являются виртуальными и, следовательно, могут быть переопределены в подклассах QIconEngine.
См. также QIconEnginePlugin.
Документация по типам членов
перечисление QIconEngine::IconEngineHook
Эти значения перечисления используются для virtual_hook() для разрешения дополнительных запросов к движку иконок без нарушения бинарной совместимости.
| Константа | Значение | Описание |
|---|---|---|
QIconEngine::AvailableSizesHook |
1 |
Позволяет запросить размеры содержащихся QPixmap для движков на основе QPixmap. Аргумент data функции virtual_hook() является указателем на AvailableSizesArgument, который должен быть заполнен размерами иконок. Движки, работающие с масштабируемым векторным форматом, обычно возвращают пустой список. |
QIconEngine::IconNameHook |
2 |
Позволяет запросить имя, используемое для создания иконки, например, при создании иконки с помощью QIcon::fromTheme(). |
Это перечисление было введено или изменено в 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(). Добавляет специализированную QPixmap из файла с заданным fileName, size, mode и state. Движок иконок по умолчанию хранит все предоставленные имена файлов и загружает QPixmap по требованию вместо использования масштабированных QPixmap, если размер QPixmap соответствует размеру запрошенной иконки. Пользовательские движки иконок, реализующие масштабируемые векторные форматы, могут игнорировать любые дополнительные файлы.
[virtual] void QIconEngine::addPixmap(const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state)
Вызывается методом QIcon::addPixmap(). Добавляет специализированную pixmap для заданного mode и state. Движок иконок по умолчанию хранит все предоставленные QPixmap и использует их вместо масштабированных QPixmap, если размер QPixmap соответствует размеру запрошенной иконки. Пользовательские движки иконок, реализующие масштабируемые векторные форматы, могут игнорировать любые дополнительные QPixmap.
[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.
[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)
Возвращает значок в виде пиктограммы с требуемым размером size, режимом mode и состоянием state. Реализация по умолчанию создает новую пиктограмму и вызывает paint() для её заполнения.
[virtual] bool QIconEngine::read(QDataStream &in)
Читает содержимое движка иконок из потока QDataStream in. Возвращает true, если содержимое было прочитано; в противном случае возвращает false.
Реализация QIconEngine по умолчанию всегда возвращает false.
[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/archives/qt-5.6/qiconengine.html