|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre éclairé
![]() Etudiant informatique autodidacte Inscription : juin 2010 Messages : 591 ![]() |
Salut les pythons compilateur,
Je cherche a utiliser l'option icon de cx_freeze sous Windows car je ne sais pas a quoi elle sert: Est-ce-que l'exécutable généré porte l'image de l'icone indiquée ou est ce pour faire un raccourcis ? J'ai chercher un peu sur le net sans trouver la bonne syntaxe et j'ai utiliser le tutoriel de Tyrtamos. Je suis même arriver a compiler mon programme avec l'option icon de Executable Code :
Si vous avez réponse a mes questions vous seriez sympa de poster. Merci pour vos réponses.
__________________
Pour faire tes armes: Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant. Et sois toujours bien armé avant de te lancer. Le hasard ne sourit qu'aux gens préparés... Blog: http://3dcyberspace.unblog.fr/ Site: Sanctuaire cybernétique |
||
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 622 ![]() |
Bonjour,
Sous Windows l’icône est inclus dans l’exécutable, pour les autres plate-formes il est mis dans le répertoire généré. @+
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2007 Messages : 1 777 ![]() |
Bonjour,
Bizarrement, avec l'option "icon" l'icône est inclue dans l'exécutable, et se montre dans la liste des fichiers de Windows Explorer, mais ne se montre pas en haut et à gauche de la fenêtre! Pour que l'icône apparaisse dans la fenêtre, il faut non seulement l'instruction PyQt4 (self.setWindowIcon(QtGui.QIcon(u'monicone.png'))), mais aussi la présence de l'icône dans le répertoire build\exe.win32-2.7: on obtient sa recopie automatique avec l'option includefiles du setup.py.
__________________
Ne rien ranger permet d'observer la loi universelle d'entropie: l'inévitable convergence vers le chaos... Mes recettes python: http://www.jpvweb.com |
|
|
00
|
|
|
#4 | ||||
|
Membre éclairé
![]() Etudiant informatique autodidacte Inscription : juin 2010 Messages : 591 ![]() |
Merci pour vos réponse,
Je n'utilise pas PyQT comme interface graphique mais Tkinter et j'ai lu la notice de cx_freeze qui manque sévèrement d'exemples pratiques. Tyrtamos le grand de part ton site, j'ai pu compiler mes programmes grâce aux tutoriels que tu a écrit sur ton site qui est géniale dont les codes suivant sont issues. Est-ce-qu'il est possible d'inclure une icone avec Tkinter comme interface graphique ou plutot quel est la syntaxe pour cette option, j'ai utiliser l'option icon de Executable en donnant le chemin vers le fichier mais ca na rien donner: Code :
Code :
__________________
Pour faire tes armes: Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant. Et sois toujours bien armé avant de te lancer. Le hasard ne sourit qu'aux gens préparés... Blog: http://3dcyberspace.unblog.fr/ Site: Sanctuaire cybernétique |
||||
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 622 ![]() |
Bonjour,
En fait pour les applications graphiques (principalement Tkinter de mon coté) ou je souhaite avoir une icône j'utilise de mon coté base64 pour l'inclure dans le code. Le code en est il plus lourd ? Pas trop à mon avis puisque base64 ne l'est pas comme module. De plus, pour vous sous Windows, cx_freeze l'inclus dans le code: Pourquoi ne pas le faire d'office ? @+
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2007 Messages : 1 777 ![]() |
Avec tkinter, il faut essayer la même chose:
1- utiliser l'option icon pour que cx-freeze l'intègre dans l'exe: icon = r"c:\chemin\vers\mon\icone.ico" (ne pas oublier le r"" ou doubler les '\') 2- dans le code source Python, demander l'insertion de l'icône dans la fenêtre tkinter avec la méthode iconbitmap (voir le fil: http://www.developpez.net/forums/d57...fenetre-linux/) 3- demander la copie automatique de l'icône pendant le traitement par cx-freeze avec l'option includefiles: il faut lui ajouter le tuple: (r"c:\chemin\vers\mon\icone.ico",".") Avec ça, icone.ico devrait se retrouver dans build\exe.win32-2.7, et être utilisé à l'exécution par la fenêtre tkinter. Essaie, et dis ce qui se passe!
__________________
Ne rien ranger permet d'observer la loi universelle d'entropie: l'inévitable convergence vers le chaos... Mes recettes python: http://www.jpvweb.com |
|
|
00
|
|
|
#7 | |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 622 ![]() |
Citation:
Pourquoi intégrer l’icône dans l'exe et le garder physiquement (sur le disque) ? Tordu non ? Pensez à ma proposition de l'inclure dans le code.
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2007 Messages : 1 777 ![]() |
@ PauseKawa: je constate simplement que l'option icon permet d'intégrer l'icone dans l'exécutable (on le voit parce que l'icône apparait dans le Windows Explorer), mais que ça ne suffit pas pour qu'il apparaisse en haut de la fenêtre: je suppose que c'est dû aux bibliothèques graphiques.
__________________
Ne rien ranger permet d'observer la loi universelle d'entropie: l'inévitable convergence vers le chaos... Mes recettes python: http://www.jpvweb.com |
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 622 ![]() |
Citation:
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 622 ![]() |
Et pour:
Oui, l'image pour l’icône doit être spécifiée.
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
00
|
|
|
#11 | ||
|
Membre éclairé
![]() Etudiant informatique autodidacte Inscription : juin 2010 Messages : 591 ![]() |
Merci pour vos nombreuse réponse.
Je me suis également cassé les dents sur la méthode: Tkinter.iconbitmap(), en essayant d'additionner une icone afin quelle apparaisse dans la barre des taches sous Linux. Mais est-ce-que, a tout hasard (je viens de tomber dessus) PauseKawa utiliserai-t-il la méthode: Tkinter.iconwindow(pathName=None) Code :
Concernant cx_freeze je vais essayer d'inclure le fichier *.ico mais si j'arrive pas a l'inclure avec la méthode Tkinter.iconbitmap() je ne peut pas allé bien loin, c'est a essayer...
__________________
Pour faire tes armes: Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant. Et sois toujours bien armé avant de te lancer. Le hasard ne sourit qu'aux gens préparés... Blog: http://3dcyberspace.unblog.fr/ Site: Sanctuaire cybernétique |
||
|
00
|
|
|
#12 | ||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 622 ![]() |
Bonjour,
Code :
__________________
Merci d'utiliser le forum pour les questions techniques. |
||
|
|
00
|
|
|
#13 |
|
Membre éclairé
![]() Etudiant informatique autodidacte Inscription : juin 2010 Messages : 591 ![]() |
Merci pour le code PausaKawa, le roi du script Tkinter, tu ne manque pas ressources concernant Tkinter et c'est souvent toi qui a répondu a mes questions concernant le sujet.
PauseKawa the king of Tkinter !
__________________
Pour faire tes armes: Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant. Et sois toujours bien armé avant de te lancer. Le hasard ne sourit qu'aux gens préparés... Blog: http://3dcyberspace.unblog.fr/ Site: Sanctuaire cybernétique |
|
00
|
|
|
#14 | ||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 622 ![]() |
Bonjour,
Désolé pour le retard mais impossible de retrouver le code. Sans passer par un fichier: Code :
__________________
Merci d'utiliser le forum pour les questions techniques. |
||
|
|
00
|
|
|
#15 | ||||
|
Membre éclairé
![]() Etudiant informatique autodidacte Inscription : juin 2010 Messages : 591 ![]() |
PauseKawa the king of Tkinter, j'ai essayer ton code et suivis le lien et il s'avère que cela fonctionne parfaitement avec le format *.gif mais pas avec le format *.png ou *.ico, sous Linux:
Code :
Code :
Merci beaucoup pour ton aide c'est déjà beaucoup de code.
__________________
Pour faire tes armes: Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant. Et sois toujours bien armé avant de te lancer. Le hasard ne sourit qu'aux gens préparés... Blog: http://3dcyberspace.unblog.fr/ Site: Sanctuaire cybernétique |
||||
|
00
|
|
|
#16 |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 622 ![]() |
Imagemagick
Et oui: Cela ne fonctionne qu'avec des gif (du moins avec Photoimage seul).
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
00
|
|
|
#17 | ||||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 622 ![]() |
Bonsoir,
A vrais dire puisque PhotoImage prend le format gif en base64 je n'ai pas tester. Le format GIF me vas bien: Utilisable avec Photoimage, Transparent pour les Canvas, Ne demande pas d'utiliser PIL, etc... Voici pour la demande: Code :
Plus complet: Code :
__________________
Merci d'utiliser le forum pour les questions techniques. |
||||
|
|
00
|
|
|
#18 | ||||||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 622 ![]() |
Maintenant puisque c'est pour mettre une image pour l’icône d'un exe pas besoin de faire des trucs du style
Code :
Code :
Mais difficile de faire plus simple que le GIF Code :
__________________
Merci d'utiliser le forum pour les questions techniques. |
||||||
|
|
00
|
|
|
#19 | ||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 622 ![]() |
Petites notes:
iconphoto n'est disponible que depuis Tcl/Tk 8.4.8. Code :
Un changement de l'image n'est pas répercuté en cours d'utilisation (elle est stockée dans _NET_WM_ICON sous X ou une structure icone sous Windows). Différents formats peuvent être utilisés, c'est le WM qui les redimensionnent. Sous Windows avec iconbitmap c'est le dernier spécifié qui est actif. Pas besoin d'utiliser les deux donc. Sous Linux c'est placé dans _NET_WM_ICON, cela doit donc être supporté par le WM. iconbitmap peut exister en même temps. @+
__________________
Merci d'utiliser le forum pour les questions techniques. |
||
|
|
00
|
|
|
#20 | ||||||
|
Expert Confirmé
![]() ![]() Inscription : décembre 2007 Messages : 1 777 ![]() |
Bonjour,
Juste une petite astuce pour intégrer une icone directement dans le code source, mais en respectant la longueur des lignes (78 caractères par exemple). On part d'une variable 'icone' qui contient la chaine binaire de l'icône, obtenue par la lecture binaire du fichier ('rb'). Pour l'exemple, on va la refabriquer (voir message précédent de ce fil): Code :
Code :
- chbin: la chaine binaire - nvar: le nom de variable à intégrer dans le code source - nbcar: le nombre de caractères par ligne - fdl: la fin de ligne Application avec la chaine binaire icone ci-dessus: Code :
cf mon tuto: http://python.jpvweb.com/mesrecettes...ersions_base64 L'avantage d'une telle présentation est que non seulement ça permet une impression 'propre' du source, mais aussi ça respecte les limites de certains éditeurs de texte qui n'aiment pas les lignes trop longues.
__________________
Ne rien ranger permet d'observer la loi universelle d'entropie: l'inévitable convergence vers le chaos... Mes recettes python: http://www.jpvweb.com |
||||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com