Je développe une application qui doit être Comment puis-je obtenir un QiCon du système à l'aide de QT SDK P>
Merci. P>
Par exemple, pour .doc forts> extensions, j'en ai besoin pour pouvoir afficher l'icône
3 Réponses :
Utilisez le qtgui.qfileiconProvider classe. P>
Juste peu de pointe de performance. Si vous devez fournir ces icônes très souvent, créez une instance locale de QfileIconProvider. La construction de qfileiconProvider est lourde
Il ressemble à qfileiconprovider code> est cher à construire car le cache utilisé ne doit pas être partagé entre plusieurs instances. Cependant, cela semble avoir changé dans QT 5.8 . Il utilise maintenant la cache d'E.G.
qwindowstheme code> qui est partagé entre toutes les instances.
Depuis Qt5, utilisez qmimedatabase pour que:
Fromtheme est Linux seulement, n'est-ce pas?
Si vous n'avez pas besoin de exigence spéciale, Si vous voulez faire ce travail à votre main, mais vous ne pouvez pas utiliser Par exemple, le code suivant vérifiera si le suffixe du fichier est ".bin", si c'est, le donnez-lui une icône du thème du système avec le type MIME "Application-X-Executable". En fait, il suffit de maintenir une base de données MIME par vous-même. P> pour obtenir la référence de chaîne de type MIME pour votre "Base de données MIME", veuillez vérifier le FreeDesktop icône Spécification de nommage . P> P> P> qmimedatabase code>
est un meilleur choix pour votre besoin. Je vous recommande d'essayer la réponse de @ Nitro2005. Vous pouvez toujours faire ce travail à la main à l'aide de qfileiconprovider code>.
qmimedatabase code> pour une raison quelconque , une solution fonctionne pour Linux / X11. Vous pouvez utiliser
qfileinfo (const qstring & fichier) code> pour obtenir le suffixe / extension du fichier (ce n'est pas nécessaire à propos de la QString que vous avez transmis au constructeur
qfileinfo code> est un chemin existant ou non) , puis obtenez le formulaire de type MIME qui suffixe, vous pouvez enfin obtenir le QICON en utilisant
QICON :: fromtheme code> et c'est fait. P>