QUtiMimeConverter Class
La classe QUtiMimeConverter permet de convertir un type MIME au format UTI (Uniform Type Identifier). En savoir plus...
| En-tête : | #include <QUtiMimeConverter> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake : | QT += gui |
| Depuis : | Qt 6.5 |
Fonctions publiques
| QUtiMimeConverter() | |
| virtual | ~QUtiMimeConverter() |
| bool | canConvert(const QString &mime, const QString &uti) const |
| virtual QList<QByteArray> | convertFromMime(const QString &mime, const QVariant &data, const QString &uti) const = 0 |
| virtual QVariant | convertToMime(const QString &mime, const QList<QByteArray> &data, const QString &uti) const = 0 |
| virtual int | count(const QMimeData *mimeData) const |
| virtual QString | mimeForUti(const QString &uti) const = 0 |
| virtual QString | utiForMime(const QString &mime) const = 0 |
Description détaillée
Les fonctionnalités de glisser-déposer et de presse-papiers de Qt utilisent la norme MIME. Sous X11, cela correspond tout simplement au protocole Xdnd. Sur Mac, bien que certaines applications utilisent MIME pour décrire le contenu du presse-papiers, il est plus courant d'utiliser le format UTI d'Apple.
Le rôle de QUtiMimeConverter est de faire le pont entre MIME et UTI ; en sous-classant cette classe, on peut étendre les fonctionnalités de glisser-déposer et de gestion du presse-papiers de Qt pour permettre la conversion vers et depuis des formats UTI non pris en charge ou propriétaires.
Créez une instance de votre implémentation de convertisseur après avoir instancié ` QGuiApplication` :
int main(int argc, char **argv)
{
QGuiApplication app(argc, argv);
JsonMimeConverter jsonConverter;
}La destruction de l’instance désenregistrera le convertisseur et supprimera la prise en charge de la conversion. Il est également possible d’allouer l’instance du convertisseur dans le tas ; Qt en prendra la propriété et supprimera l’objet convertisseur lors de l’arrêt QGuiApplication.
Qt prend en charge par défaut les UTI suivants :
- public.utf8-plain-text - convertit en « text/plain »
- public.utf16-plain-text - convertit en « text/plain »
- public.text - convertit en « text/plain »
- public.html - convertit en « text/html »
- public.url - convertit en « text/uri-list »
- public.file-url - convertit en « text/uri-list »
- public.tiff - convertit en « application/x-qt-image »
- public.vcard - convertit en « text/plain »
- com.apple.traditional-mac-plain-text - conversion en « text/plain »
- com.apple.pict - convertit en « application/x-qt-image »
Lorsqu'il traite des données MIME, Qt parcourt toutes les instances de QUtiMimeConverter afin de trouver une instance capable de convertir vers ou depuis un type MIME spécifique. Pour ce faire, il appelle les méthodes mimeForUti() ou utiForMime() sur chaque instance, en commençant par (et en choisissant) la dernière instance créée. Les conversions proprement dites seront effectuées à l’aide des méthodes convertToMime() et convertFromMime().
Documentation sur les fonctions membres
QUtiMimeConverter::QUtiMimeConverter()
Crée un nouvel objet de conversion et l'ajoute à la liste globale des convertisseurs disponibles.
Appelez ce constructeur une fois que ` QGuiApplication ` a été créé.
[virtual noexcept] QUtiMimeConverter::~QUtiMimeConverter()
Détruit un objet de conversion, en le supprimant de la liste globale des convertisseurs disponibles.
bool QUtiMimeConverter::canConvert(const QString &mime, const QString &uti) const
Renvoie ` true ` si le convertisseur peut effectuer la conversion (dans les deux sens) entre ` mime ` et ` uti` ; sinon, renvoie ` false`.
[pure virtual] QList<QByteArray> QUtiMimeConverter::convertFromMime(const QString &mime, const QVariant &data, const QString &uti) const
Renvoie l'data, convertie du type MIME mime au format UTI Mac uti.
Notez que les UTI Mac doivent toutes être auto-terminantes. La valeur de retour peut contenir des données de fin.
Toutes les sous-classes doivent réimplémenter cette fonction virtuelle pure.
[pure virtual] QVariant QUtiMimeConverter::convertToMime(const QString &mime, const QList<QByteArray> &data, const QString &uti) const
Renvoie l'data convertie du format Mac UTI uti au type MIME mime.
Notez que les UTI Mac doivent toutes être auto-terminantes. L’ data d’entrée peut contenir des données de fin.
Toutes les sous-classes doivent réimplémenter cette fonction virtuelle pure.
[virtual] int QUtiMimeConverter::count(const QMimeData *mimeData) const
Renvoie le nombre d'éléments pour le mimeData
[pure virtual] QString QUtiMimeConverter::mimeForUti(const QString &uti) const
Renvoie le type MIME utilisé pour l'UTI Mac « uti », ou une chaîne vide si ce convertisseur ne prend pas en charge la conversion à partir de « uti ».
Toutes les sous-classes doivent réimplémenter cette fonction virtuelle pure.
[pure virtual] QString QUtiMimeConverter::utiForMime(const QString &mime) const
Renvoie l'UTI Mac utilisé pour le type MIME mime, ou une chaîne vide si ce convertisseur ne prend pas en charge la conversion à partir de mime.
Toutes les sous-classes doivent réimplémenter cette fonction virtuelle pure.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.