QUtiMimeConverter Class

QUtiMimeConverter 클래스는 MIME 유형과 UTI(Uniform Type Identifier) 형식 사이를 변환합니다. 더 보기...

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

공용 형

flags HandlerScope

공용 함수

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

상세 설명

Qt의 드래그 앤 드롭과 클립보드 기능은 MIME 표준을 사용합니다. X11에서 이것은 Xdnd 프로토콜에 간단하게 매핑됩니다. Mac에서는 일부 응용 프로그램에서 클립보드 내용을 설명하기 위해 MIME을 사용하지만, Apple의 UTI 형식을 사용하는 것이 더 일반적입니다.

이 클래스의 서브클래스를 통해 Qt의 드래그 앤 드롭과 클립보드 처리를 확장하여 지원되지 않거나 독점적인 UTI 포맷으로 변환하거나 변환할 수 있도록 하는 것이 QUtiMimeConverter의 역할입니다.

QGuiApplication 을 인스턴스화한 후 변환기 구현의 인스턴스를 생성합니다:

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

인스턴스를 삭제하면 변환기의 등록이 취소되고 변환에 대한 지원이 제거됩니다. 변환기 인스턴스를 힙 할당하는 것도 유효합니다; Qt는 소유권을 가지며 QGuiApplication 종료 중에 변환기 객체를 삭제합니다.

Qt에는 다음 UTI에 대한 지원이 미리 정의되어 있습니다:

  • public.utf8-plain-text - "text/plain"으로 변환합니다.
  • public.utf16-plain-text - "text/plain"으로 변환합니다.
  • public.text - "텍스트/일반"으로 변환합니다.
  • public.html - "text/html"로 변환합니다.
  • public.url - "text/uri-list"로 변환합니다.
  • public.file-url - "텍스트/URI 목록"으로 변환합니다.
  • public.tiff - "application/x-qt-image"로 변환합니다.
  • public.vcard - "텍스트/일반"으로 변환합니다.
  • com.apple.traditional-mac-plain-text - "텍스트/일반"으로 변환합니다.
  • com.apple.pict - "application/x-qt-image"로 변환합니다.

MIME 데이터로 작업할 때, Qt는 특정 MIME 유형으로 변환하거나 변환할 수 있는 인스턴스를 찾기 위해 QUtiMimeConverter의 모든 인스턴스를 반복합니다. 각 인스턴스에서 mimeForUti() 또는 utiForMime()을 호출하여 마지막으로 생성된 인스턴스를 먼저 선택하여 이 작업을 수행합니다. 실제 변환은 convertToMime() 및 convertFromMime()을 사용하여 수행됩니다.

멤버 함수 문서

QUtiMimeConverter::QUtiMimeConverter()

새 변환 객체를 생성하고 전역적으로 액세스되는 사용 가능한 변환기 목록에 추가합니다.

QGuiApplication 이 생성된 후에 이 생성자를 호출하세요.

[virtual noexcept] QUtiMimeConverter::~QUtiMimeConverter()

변환 개체를 파괴하여 사용 가능한 변환기의 전역 목록에서 제거합니다.

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

변환기가 mimeuti 사이를 (양방향으로) 변환할 수 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

반환값 data MIME 유형 mime 에서 Mac UTI uti 로 변환되었습니다.

Mac UTI는 모두 자체 종료되어야 합니다. 반환값은 후행 데이터를 포함할 수 있습니다.

모든 서브클래스는 이 순수 가상 함수를 재구현해야 합니다.

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

Mac UTI uti 에서 MIME 유형 mime 으로 변환된 data 을 반환합니다.

Mac UTI는 모두 자체 종료되어야 합니다. data 입력은 후행 데이터를 포함할 수 있습니다.

모든 서브클래스는 이 순수 가상 함수를 재구현해야 합니다.

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

주어진 아이템의 개수를 반환합니다. mimeData

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

이 변환기가 uti 에서의 변환을 지원하지 않는 경우 빈 문자열을 반환하거나 uti 에서의 변환을 지원하지 않는 경우 Mac UTI 에 사용되는 MIME 타입을 반환합니다.

모든 서브클래스는 이 순수 가상 함수를 재구현해야 합니다.

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

이 변환기가 mime 에서의 변환을 지원하지 않는 경우 빈 문자열을 반환하거나 mime 에서의 변환을 지원하지 않는 경우 MIME 유형에 사용된 Mac UTI를 반환합니다.

모든 서브 클래스는 이 순수 가상 함수를 재구현해야 합니다.

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