Класс QMacPasteboardMime
Класс QMacPasteboardMime преобразует между типом MIME и форматом Универсального идентификатора типа (UTI). Подробнее...
| Заголовок: | #include <QMacPasteboardMime> |
| qmake: | QT += macextras |
| С тех пор: | Qt 5.2 |
Этот класс был представлен в Qt 5.2.
Открытые функции
| QMacPasteboardMime(char t) | |
| virtual | ~QMacPasteboardMime() |
| virtual bool | canConvert(const QString &mime, QString flav) = 0 |
| virtual QList<QByteArray> | convertFromMime(const QString &mime, QVariant data, QString flav) = 0 |
| virtual QVariant | convertToMime(const QString &mime, QList<QByteArray> data, QString flav) = 0 |
| virtual QString | convertorName() = 0 |
| virtual int | count(QMimeData *mimeData) |
| virtual QString | flavorFor(const QString &mime) = 0 |
| virtual QString | mimeFor(QString flav) = 0 |
Связанные нечлены
| void | qRegisterDraggedTypes(const QStringList &types) |
Подробное описание
Функциональность перетаскивания и буфера обмена Qt использует стандарт MIME. В X11 это сопоставляется тривиально с протоколом Xdnd. На Mac, хотя некоторые приложения используют MIME для описания содержимого буфера обмена, чаще используется формат UTI Apple.
Роль QMacPasteboardMime — это обеспечение моста между MIME и UTI; Подклассы этого класса позволяют расширить обработку перетаскивания и буфера обмена Qt для преобразования в и из неподдерживаемых или проприетарных форматов UTI.
Подкласс QMacPasteboardMime будет автоматически зарегистрирован и активен при создании экземпляра.
Qt предопределяет поддержку следующих UTI:
| UTI | Преобразуется в |
|---|---|
public.utf8-plain-text |
text/plain |
public.utf16-plain-text |
text/plain |
public.html |
text/html |
public.url |
text/uri-list |
public.file-url |
text/uri-list |
public.tiff |
application/x-qt-image |
public.vcard |
text/plain |
com.apple.traditional-mac-plain-text |
text/plain |
com.apple.pict |
application/x-qt-image |
При работе с данными MIME Qt будет перебирать все экземпляры QMacPasteboardMime, чтобы найти экземпляр, который может преобразовать в или из определенного типа MIME. Это делается путем вызова canConvert() для каждого экземпляра, начиная с (и выбирая) последнего созданного экземпляра в первую очередь. Фактические преобразования выполняются с помощью convertToMime() и convertFromMime().
Примечание: API использует термин «тип» в некоторых случаях. Это для обратной совместимости, и теперь это следует понимать как UTI.
Документация по функциям-членам
QMacPasteboardMime::QMacPasteboardMime(char t)
Создает новый объект преобразования типа t, добавляя его в глобальный список доступных преобразователей.
[virtual] QMacPasteboardMime::~QMacPasteboardMime()
Удаляет объект преобразования, удаляя его из глобального списка доступных преобразователей.
[pure virtual] bool QMacPasteboardMime::canConvert(const QString &mime, QString flav)
Возвращает true, если преобразователь может преобразовать (в обоих направлениях) между mime и flav; в противном случае возвращает false.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[pure virtual] QList<QByteArray> QMacPasteboardMime::convertFromMime(const QString &mime, QVariant data, QString flav)
Возвращает data, преобразованную из типа MIME mime в Mac UTI flav.
Обратите внимание, что все типы Mac должны быть самозавершающимися. Значение возврата может содержать хвостовые данные.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[pure virtual] QVariant QMacPasteboardMime::convertToMime(const QString &mime, QList<QByteArray> data, QString flav)
Возвращает data, преобразованную из Mac UTI flav в тип MIME mime.
Обратите внимание, что все типы Mac должны быть самозавершающимися. Входные данные data могут содержать хвостовые данные.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[pure virtual] QString QMacPasteboardMime::convertorName()
Возвращает имя преобразователя.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[virtual] int QMacPasteboardMime::count(QMimeData *mimeData)
Возвращает количество элементов для заданных mimeData
[pure virtual] QString QMacPasteboardMime::flavorFor(const QString &mime)
Возвращает Mac UTI, используемый для типа MIME mime, или 0, если этот преобразователь не поддерживает mime.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[pure virtual] QString QMacPasteboardMime::mimeFor(QString flav)
Возвращает MIME UTI, используемый для Mac типа flav, или 0, если этот преобразователь не поддерживает flav.
Все подклассы должны переопределять эту чисто виртуальную функцию.
Связанные нечлены
void QMacPasteboardMime::qRegisterDraggedTypes(const QStringList &types)
Регистрирует заданные types как пользовательские типы буфера обмена.
Эта функция должна вызываться для активации событий перетаскивания для пользовательских типов буфера обмена в реализации Cocoa. Это необходимо помимо реализации подкласса QMacPasteboardMime. По умолчанию перетаскивание включено для всех стандартных типов буфера обмена.
См. также QMacPasteboardMime.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qmacpasteboardmime.html