Класс QWinMime
Класс QWinMime сопоставляет стандартные MIME-типы с форматами буфера обмена Windows. Подробнее...
| Заголовок: | #include <QWinMime> |
| qmake: | QT += winextras |
| С момента: | Qt 5.4 |
Этот класс был представлен в Qt 5.4.
Открытые функции
| QWinMime() | |
| virtual | ~QWinMime() |
| virtual bool | canConvertFromMime(const FORMATETC &formatetc, const QMimeData *mimeData) const = 0 |
| virtual bool | canConvertToMime(const QString &mimeType, int *pDataObj) const = 0 |
| virtual bool | convertFromMime(const FORMATETC &formatetc, const QMimeData *mimeData, STGMEDIUM *pmedium) const = 0 |
| virtual QVariant | convertToMime(const QString &mimeType, int *pDataObj, QVariant::Type preferredType) const = 0 |
| virtual QVector<FORMATETC> | formatsForMime(const QString &mimeType, const QMimeData *mimeData) const = 0 |
| virtual QString | mimeForFormat(const FORMATETC &formatetc) const = 0 |
Статические открытые члены
| int | registerMimeType(const QString &mime) |
Подробное описание
В Qt средства перетаскивания и буфера обмена используют стандарт MIME. В X11 это просто отображается на протокол Xdnd, но в Windows, хотя некоторые приложения используют MIME-типы для описания форматов буфера обмена, другие используют произвольные нестандартные соглашения об именовании или встроенные, не имеющие имен, форматы Windows.
Создавая подклассы QWinMime, которые обеспечивают преобразования между форматами буфера обмена Windows и MIME, вы можете преобразовывать проприетарные форматы буфера обмена в MIME-форматы.
Qt предоставляет предварительную поддержку следующих форматов буфера обмена Windows:
| Формат Windows | Эквивалентный MIME-тип |
|---|---|
CF_UNICODETEXT |
text/plain |
CF_TEXT |
text/plain |
CF_DIB |
image/xyz, где xyz — формат изображения Qt
|
CF_HDROP |
text/uri-list |
CF_INETURL |
text/uri-list |
CF_HTML |
text/html |
Пример использования этого класса — сопоставление формата метафайла Windows буфера обмена (CF_METAFILEPICT) и MIME-типа image/x-wmf. Это преобразование может просто добавлять или удалять заголовок или даже просто передавать данные. Более подробную информацию о выборе и определении MIME-типов см. в разделе Перетаскивание.
Вы можете проверить, преобразуется ли MIME-тип, используя canConvertFromMime(), и выполнить преобразования с помощью convertToMime() и convertFromMime().
Документация по функциям-членам
QWinMime::QWinMime()
Конструирует новый объект преобразования, добавляя его в глобально доступный список доступных преобразователей.
[virtual] QWinMime::~QWinMime()
Уничтожает объект преобразования, удаляя его из глобального списка доступных преобразователей.
[pure virtual] bool QWinMime::canConvertFromMime(const FORMATETC &formatetc, const QMimeData *mimeData) const
Возвращает true, если преобразователь может преобразовать данные mimeData в формат, указанный в formatetc.
Все подклассы должны переопределить эту чисто виртуальную функцию.
[pure virtual] bool QWinMime::canConvertToMime(const QString &mimeType, int *pDataObj) const
Возвращает true, если преобразователь может преобразовать в mimeType из доступных форматов в pDataObj.
Все подклассы должны переопределить эту чисто виртуальную функцию.
[pure virtual] bool QWinMime::convertFromMime(const FORMATETC &formatetc, const QMimeData *mimeData, STGMEDIUM *pmedium) const
Преобразует mimeData в формат, указанный в formatetc. Преобразованные данные должны быть помещены в структуру pmedium.
Возвращает true, если преобразование выполнено успешно.
Все подклассы должны переопределить эту чисто виртуальную функцию.
[pure virtual] QVariant QWinMime::convertToMime(const QString &mimeType, int *pDataObj, QVariant::Type preferredType) const
Возвращает QVariant, содержащую преобразованные данные для mimeType из pDataObj. Если возможно, QVariant должна иметь тип preferredType, чтобы избежать ненужных преобразований.
Все подклассы должны переопределить эту чисто виртуальную функцию.
[pure virtual] QVector<FORMATETC> QWinMime::formatsForMime(const QString &mimeType, const QMimeData *mimeData) const
Возвращает QVector структур FORMATETC, представляющих различные форматы буфера обмена Windows, которые могут быть предоставлены для mimeType из mimeData.
Все подклассы должны переопределить эту чисто виртуальную функцию.
[pure virtual] QString QWinMime::mimeForFormat(const FORMATETC &formatetc) const
Возвращает MIME-тип, который будет создан из формата, указанного в formatetc, или пустую строку, если этот преобразователь не поддерживает formatetc.
Все подклассы должны переопределить эту чисто виртуальную функцию.
[static] int QWinMime::registerMimeType(const QString &mime)
Регистрирует MIME-тип mime и возвращает идентификатор формата в Windows.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qwinmime.html