2010-10-02 9 views

Répondre

4

Vous devez utiliser les bibliothèques 3ème partie à cet effet, il n'y a pas de support deviner type MIME dans Qt lui-même. Sous Linux/Unix, vous pouvez utiliser libmagic.

+0

D'accord. Je vais regarder dans ça. –

+0

Parfait - qui a fait exactement ce que j'espérais. –

+0

Ce n'est plus vrai. Qt propose maintenant des recherches de type MIME. – BuvinJ

25

Qt 5 a ajouté le support pour les types MIME:

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 

Voir aussi: http://doc.qt.io/qt-5/qmimetype.html

+0

Le paquet Qt5 peut être facilement rétroporté en Qt4. Compilez simplement tous les fichiers sous les mimetypes et les chemins standards depuis la source Qt5 dans une bibliothèque ou avec votre application. Certaines modifications doivent être faites si les sources sont prises à partir de Qt 5.5+ je crois. – Marcus

5
#include <QMimeDatabase> 

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

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

+0

Ou, encapsuler les détails d'implémentation que j'ai dans cette fonction. – BuvinJ