Utilisation d'icônes standard Qt à partir de Qt Creator
Je voudrais utiliser le Standard de Qt icônes (comme ici). J'ai trouvé beaucoup d'exemples comment définir les icônes par programmation (runtime code).
Cependant, comment pourrais-je définir le "standard nom de l'icône" (par exemple,application-exit
) dans Qt Creator? Cette blog ici dit, je n'ai tout simplement définir le thème, le nom de l'. Mais je n'ai pas un thème bien, j'aimerais obtenir un popup avec une ressource (capture d'écran ci-dessous).
Où est le bon endroit pour appliquer la norme "nom" (par exemple application-exit
)?
Mise à jour de 2.4.x de l'intervalle Qt Creator 2.5.2 me donne le "thème" de la propriété du blog ci-dessus, mais toujours pas d'icônes visibles encore. Quoi d'autre est nécessaire pour rendre les icônes visibles?
Remarque Qt 4.8.1, maintenant mis à jour pour 2.5.2, Windows 7
source d'informationauteur Horst Walter
Vous devez vous connecter pour publier un commentaire.
Thème d'icônes sont uniquement pris en charge sur Linux/X11. Sur Windows et OS X, vous devrez fournir vos propres icônes.
La solution à ce problème est de mettre le nom du thème dans QtCreator (comme dans votre exemple). Ensuite, vous devez fournir les icônes de la même Alias sous le Préfixe ":/icons" dans vos ressources. Vous pouvez tirer parti des icônes à partir d'ensembles disponibles dans le domaine public, par exemple le populaire Tango jeu d'icônes.
Si vous ne cible que la plate-forme Windows, le décor sera d'aucune utilité pour vous. Si vous ciblez à la fois Linux/X11 et d'autres plates-formes, avec cette solution, vous pouvez le natif d'icônes sur un système et les icônes que vous fournissez vous-même sur les autres.
Vous pouvez trouver une très bonne explication sur la façon de le faire ici:
http://mithatkonar.com/wiki/doku.php/qt/icons
@ypnos suggéré un lien fort avec de multiples approches pour résoudre le problème. J'ai préféré le dernier - Créer une icône personnalisée thème. L'auteur déclare trois Pros (Disponible pour toutes les plates-formesExcellent redimensionnementCouvre tous besoin d'icônes), et deux Contre (Pas compatible avec le système de thème d'icônesDouleur dans le cul à mettre en œuvre). Ici, je suggère des améliorations pour se débarrasser des Inconvénients.
J'ai cloné le Tango set d'icônes à partir de github. Référentiel https://github.com/ppinard/qtango déjà les fonctionnalités de la index.thème fichier. Mais surtout, elle apporte un script Python
generate_rcc.py
qui peuvent générer de la*.qrc
fichier automatiquement. J'ai juste eu à modifier les arguments desubprocess.check_call()
de'--binary'
et'--compress'
à'-binary'
et'-compress'
. Le fichier généré contenus des chemins absolus, mais c'est facile à Trouver,&Remplacer. On peut utiliser ce script pour tout set d'icônes - première laborieuse étape est résolu.Maintenant, en utilisant le "Thème" de la propriété, vous pouvez définir les icônes dans le Qt Designer, comme l'a déjà montré dans la question. Pour les pays en développement sous Linux, système icônes montrent droit dans le Concepteur (à supposer que la set d'icônes utilise la norme de l'icône de noms). C'est le natif d'oeil (les icônes seront configurable dans les paramètres de votre système). Qui vous libère de la
ui->action_Open->setIcon(...)
de codage.Et au final, le tweak est le thème avant installation de l'interface utilisateur.
La
#ifdef
de cours peut être ajusté à la cible toutes les plates-formes nécessaires, ou omis de forcer les mêmes icônes sur toutes les plates-formes, y compris Linux.En conséquence, cette approche permet d'éviter tous les laborieux de codage et le résultat est cohérent avec les icônes système, au moins sur Linux.
Malheureusement, cette option de thème d'icônes par Qt Designer n'est pas disponible sur Windows.