7
votes

Icône qt intégrée à l'exécutable

J'ai des boutons sur un tabwidget. Ces boutons doivent avoir une icône sur eux.

Je suis au courant de qpixmap qui me permettra de mettre une image en haut d'un bouton, mais je vois que ces constructeurs prennent un fichier FilePath comme paramètre. Je veux éviter de faire glisser les icônes dans un fichier après que je construis. Je voudrais intégrer ces icônes dans l'exécutable d'une manière ou d'une autre, de manière à réduire les bagages que j'ai besoin de coller afin de le faire fonctionner.

Comment puis-je accomplir cela?

Je suis intéressé à entendre des moyens d'entendre mon objectif de ne pas avoir besoin de faire glisser les fichiers d'icônes avec l'exécutable; Veuillez vous concentrer sur cet aspect si vous êtes confus à propos de la terminologie que j'ai peut-être utilisée, car j'apprends toujours Qt.


0 commentaires

3 Réponses :


12
votes

Bien sûr, vous pouvez incorporer des icônes, des images et toutes les autres ressources personnalisées dans votre application. Veuillez lire Le système de ressources du QT 4 (ou Cliquez ici pour Qt 5)


0 commentaires

5
votes

Vous aurez un fichier de ressources nommé quelque chose comme ProjectName.QRC et ces icônes (généralement PNGS). Avec QT Creator, il commence déjà avec un fichier QRC vierge pour vous. Lorsque vous spécifiez le "fichier", vous utilisez la syntaxe de la manière de ": /Images/mycrazyicon.png" et l'icône est chargée à partir de la ressource intégrée à votre exécutable. Notez que QT ne gère pas les ressources très parfaites, ce qui est de les avoir chargeux de la demande, mais de ne pas toujours collier la mémoire système; Ils portent toujours la mémoire système, ce qui n'est vraiment pas si important si elles sont petites. Pour les gros graphiques que vous voulez rougir plus tard, spécifiez simplement un nom de fichier réel (par exemple, "mybigfile.png" au lieu de ": /mybigfile.png", que ce dernier pointe vers une ressource dans l'exécutable).

Avec la syntaxe des ressources La puissance est dans le caractère du côlon ":", vous pouvez même avoir ": myfile.png", fournissant le fichier QRC est situé dans le même répertoire que les ressources. C'est comme ça que je le fais, et je ne vois pas jusqu'à présent inconvénient de cette syntaxe. Je déteste, y compris "... / images / ..." dans la syntaxe, de sorte que mes noms de ressources sont adressés avec ": myPic.png" Sans plus ": / /Images/mypic.png" et tout fonctionne bien.

La documentation QT stipule qu'à l'heure actuelle, ils ne prennent pas en charge la véritable manipulation de ressources que Windows et Mac soutient, mais que les choses pourraient changer à l'avenir. Rappelez-vous que le «vrai soutien des ressources» fait référence à cette bonne chose où vous pouvez placer des graphiques et des sons multi-mégaoctets dans votre exécutable et ne vous inquiétez jamais de se charger de la mémoire tant que vous les demandez de la magie. Les ressources du QRC sont chargées en mémoire lorsque l'exécutable est chargé. Le skinning par un fichier chargé de charge plus que ce qui compense cette faiblesse. QT s'améliore rapidement et un jour, ils pourraient très bien soutenir les systèmes de ressources Windows et Mac. Je deviens redondant et je dois partir. Ta ta. Tout le monde m'a moderne, j'ai besoin des points.


0 commentaires

0
votes

Vous devriez peut-être essayer ceci:

Ajoutez une seule ligne à votre fichier de projet .Pro:

rc_icons = myappico.ico

Plus d'informations: Définition de l'icône de l'application


0 commentaires