Класс QWinMime
Класс QWinMime сопоставляет стандартные MIME типы с форматами буфера обмена Windows. Подробнее...
| Заголовок: | #include <QWinMime> |
| qmake: | QT += winextras |
| С тех пор: | 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) |
Подробное описание
Класс QWinMime сопоставляет стандартные MIME типы с форматами буфера обмена Windows.
Функции перетаскивания и буфера обмена 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/archives/qt-5.11/qwinmime.html