QUtiMimeConverter Class
La classe QUtiMimeConverter convertit un type MIME en un format UTI (Uniform Type Identifier). Plus d'informations...
| 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 fonctions de glisser-déposer et de presse-papiers de Qt utilisent le standard MIME. Sur X11, cela correspond trivialement 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 combler le fossé entre MIME et UTI. En sous-classant cette classe, on peut étendre la gestion du glisser-déposer et du presse-papiers de Qt pour convertir vers et depuis des formats UTI non pris en charge ou propriétaires.
Construisez une instance de votre 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 au tas ; Qt en prend la propriété et supprimera l'objet convertisseur lors de l'arrêt de QGuiApplication.
Qt a un support prédéfini pour 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 - Conversion en "text/uri-list".
- public.file-url - Convertit en "text/uri-list".
- public.tiff - Conversion en "application/x-qt-image".
- public.vcard - convertit en "text/plain"
- com.apple.traditional-mac-plain-text - convertit en "text/plain"
- com.apple.pict - convertit en "application/x-qt-image"
Lorsque vous travaillez avec des données MIME, Qt va parcourir toutes les instances de QUtiMimeConverter pour trouver une instance qui peut convertir vers, ou depuis, un type MIME spécifique. Il le fera en appelant mimeForUti() ou utiForMime() sur chaque instance, en commençant par (et en choisissant) la dernière instance créée. Les conversions réelles seront effectuées en utilisant convertToMime() et convertFromMime().
Documentation des fonctions membres
QUtiMimeConverter::QUtiMimeConverter()
Construit un nouvel objet de conversion et l'ajoute à la liste des convertisseurs disponibles à laquelle on accède globalement.
Appelez ce constructeur après la création de QGuiApplication.
[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 convertir (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
Retourne data converti du type MIME mime en Mac UTI uti.
Notez que les Mac UTIs doivent tous être auto-terminés. 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
Retourne data converti de Mac UTI uti en type MIME mime.
Notez que les Mac UTIs doivent tous être auto-terminés. L'entrée data 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 l'élément mimeData
[pure virtual] QString QUtiMimeConverter::mimeForUti(const QString &uti) const
Renvoie le type MIME utilisé pour Mac UTI 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ée 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.