Класс 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, 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) |
Подробное описание
В 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.15/qwinmime.html