Класс 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, IDataObject *pDataObj) const = 0 |
| virtual bool | convertFromMime(const FORMATETC &formatetc, const QMimeData *mimeData, STGMEDIUM *pmedium) const = 0 |
| virtual QVariant | convertToMime(const QString &mimeType, IDataObject *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, IDataObject *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, IDataObject *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.9/qwinmime.html