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부터 |
공개 함수
| 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 형식을 사용하는 것이 더 일반적입니다.
QUtiMimeConverter의 역할은 MIME과 UTI 간의 격차를 해소하는 것입니다. 이 클래스를 상속하여 Qt의 드래그 앤 드롭 및 클립보드 처리 기능을 확장함으로써, 지원되지 않거나 독점적인 UTI 형식 간에 변환할 수 있습니다.
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 - "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는 특정 MIME 유형으로 변환하거나 해당 유형에서 변환할 수 있는 인스턴스를 찾기 위해 모든 QUtiMimeConverter 인스턴스를 순차적으로 검사합니다. 이를 위해 가장 최근에 생성된 인스턴스부터 시작하여(선택하여) 각 인스턴스에 대해 mimeForUti() 또는 utiForMime()를 호출합니다. 실제 변환 작업은 convertToMime() 및 convertFromMime() 메서드를 사용하여 수행됩니다.
멤버 함수 문서
QUtiMimeConverter::QUtiMimeConverter()
새로운 변환 객체를 생성하고, 이를 전역적으로 접근 가능한 사용 가능한 변환기 목록에 추가합니다.
QGuiApplication 가 생성된 후에 이 생성자를 호출하십시오.
[virtual noexcept] QUtiMimeConverter::~QUtiMimeConverter()
변환 객체를 삭제하고, 사용 가능한 변환기 목록에서 해당 객체를 제거합니다.
bool QUtiMimeConverter::canConvert(const QString &mime, const QString &uti) const
변환기가 mime 와 uti 간을 (양방향으로) 변환할 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.
[pure virtual] QList<QByteArray> QUtiMimeConverter::convertFromMime(const QString &mime, const QVariant &data, const QString &uti) const
MIME 유형 mime 를 Mac UTI uti 로 변환한 data 값을 반환합니다.
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
Mac UTI uti 에 사용되는 MIME 유형을 반환하거나, 이 변환기가 uti 에서 변환하는 것을 지원하지 않는 경우 빈 문자열을 반환합니다.
모든 하위 클래스는 이 순수 가상 함수를 재구현해야 합니다.
[pure virtual] QString QUtiMimeConverter::utiForMime(const QString &mime) const
MIME 유형 mime 에 사용되는 Mac UTI를 반환하거나, 이 변환기가 mime 에서 변환하는 것을 지원하지 않는 경우 빈 문자열을 반환합니다.
모든 하위 클래스는 이 순수 가상 함수를 재구현해야 합니다.
© 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.