2010-10-02 14 views

Antwort

4

Sie müssen für diesen Zweck Bibliotheken von Drittanbietern verwenden, es gibt keine Mime-Typ-Raten-Unterstützung in Qt selbst. Unter Linux/Unix können Sie libmagic verwenden.

+0

Okay. Ich werde das untersuchen. –

+0

Perfekt - das hat genau das gemacht, was ich mir erhofft hatte. –

+0

Dies ist nicht mehr wahr. Qt bietet nun Mime-Type-Lookups an. – BuvinJ

25

Qt 5 hat die Unterstützung für MIME-Typen hinzugefügt:

http://doc.qt.io/qt-5/qmimedatabase.html

QString path("/home/my_user/my_file"); 
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) 
    QMimeDatabase db; 
    QMimeType type = db.mimeTypeForFile(path); 
    qDebug() << "Mime type:" << type.name(); 
#endif 

Siehe auch: http://doc.qt.io/qt-5/qmimetype.html

+0

Qt5-Paket kann leicht nach Qt4 zurückportiert werden. Kompilieren Sie einfach alle Dateien unter Mimetyps und Standardpfade aus der Qt5-Quelle in eine Bibliothek oder zusammen mit Ihrer Anwendung. Einige Änderungen müssen vorgenommen werden, wenn die Quellen aus Qt 5.5+ stammen, glaube ich. – Marcus

5
#include <QMimeDatabase> 

QString mimeType(const QString &filePath){ return QMimeDatabase().mimeTypeForFile(filePath).name(); } 
+0

QString mime = QMimeDatabase(). MimeTypeForFile (Pfad) .name(); – sonichy

+0

Oder kapseln Sie die Implementierungsdetails so ein, wie ich in dieser Funktion habe. – BuvinJ

Verwandte Themen