En esta página

QUtiMimeConverter Class

La clase QUtiMimeConverter convierte entre un tipo MIME y un formato Uniform Type Identifier (UTI ). Más...

Cabecera: #include <QUtiMimeConverter>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Desde: Qt 6.5

Funciones Públicas

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

Descripción detallada

Las funciones de arrastrar y soltar y portapapeles de Qt utilizan el estándar MIME. En X11, esto se corresponde trivialmente con el protocolo Xdnd. En Mac, aunque algunas aplicaciones utilizan MIME para describir el contenido del portapapeles, es más común utilizar el formato UTI de Apple.

El papel de QUtiMimeConverter es tender un puente entre MIME y UTI; mediante subclases de esta clase, uno puede extender el manejo de arrastrar y soltar y del portapapeles de Qt para convertir desde y hacia formatos UTI no soportados o propietarios.

Construya una instancia de su implementación del conversor después de instanciar QGuiApplication:

int main(int argc, char **argv)
{
    QGuiApplication app(argc, argv);
    JsonMimeConverter jsonConverter;
}

Destruir la instancia anulará el registro del conversor y eliminará el soporte para la conversión. También es válido heap-allocate la instancia del convertidor; Qt toma la propiedad y eliminará el objeto convertidor durante QGuiApplication shut-down.

Qt tiene soporte predefinido para los siguientes UTIs:

  • public.utf8-plain-text - convierte a "text/plain".
  • public.utf16-plain-text - convierte a "text/plain".
  • public.text - convierte a "text/plain
  • public.html - se convierte a "text/html
  • public.url - se convierte a "text/uri-list
  • public.file-url - se convierte a "text/uri-list
  • public.tiff - se convierte a "application/x-qt-image".
  • public.vcard - se convierte a "text/plain".
  • com.apple.traditional-mac-plain-text - convierte a "text/plain".
  • com.apple.pict - convierte a "application/x-qt-image".

Cuando se trabaja con datos MIME, Qt iterará a través de todas las instancias de QUtiMimeConverter para encontrar una instancia que pueda convertir a, o desde, un tipo MIME específico. Esto se hará llamando a mimeForUti() o utiForMime() en cada instancia, comenzando (y eligiendo) primero la última instancia creada. Las conversiones reales se realizarán utilizando convertToMime() y convertFromMime().

Documentación de las funciones miembro

QUtiMimeConverter::QUtiMimeConverter()

Construye un nuevo objeto de conversión y lo añade a la lista global de conversores disponibles.

Llame a este constructor después de que se haya creado QGuiApplication.

[virtual noexcept] QUtiMimeConverter::~QUtiMimeConverter()

Destruye un objeto de conversión, eliminándolo de la lista global de conversores disponibles.

bool QUtiMimeConverter::canConvert(const QString &mime, const QString &uti) const

Devuelve true si el conversor puede convertir (en ambos sentidos) entre mime y uti; en caso contrario devuelve false.

[pure virtual] QList<QByteArray> QUtiMimeConverter::convertFromMime(const QString &mime, const QVariant &data, const QString &uti) const

Devuelve data convertido de tipo MIME mime a Mac UTI uti.

Tenga en cuenta que todos los UTI de Mac deben ser autoterminantes. El valor devuelto puede contener datos finales.

Todas las subclases deben reimplementar esta función virtual pura.

[pure virtual] QVariant QUtiMimeConverter::convertToMime(const QString &mime, const QList<QByteArray> &data, const QString &uti) const

Devuelve data convertido de Mac UTI uti a tipo MIME mime.

Tenga en cuenta que todos los UTI de Mac deben ser autoterminantes. La entrada data puede contener datos finales.

Todas las subclases deben reimplementar esta función virtual pura.

[virtual] int QUtiMimeConverter::count(const QMimeData *mimeData) const

Devuelve el recuento de elementos del mimeData

[pure virtual] QString QUtiMimeConverter::mimeForUti(const QString &uti) const

Devuelve el tipo MIME utilizado para Mac UTI uti, o una cadena vacía si este conversor no admite la conversión desde uti.

Todas las subclases deben reimplementar esta función virtual pura.

[pure virtual] QString QUtiMimeConverter::utiForMime(const QString &mime) const

Devuelve el UTI de Mac utilizado para el tipo MIME mime, o una cadena vacía si este conversor no admite la conversión desde mime.

Todas las subclases deben reimplementar esta función virtual pura.

© 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.