Spec-Zone.ru › Qt 5.15

Класс 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 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.15/qmacpasteboardmime.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API