|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() |
Bonjour,
Après avoir développé un beau petit programme, je cherche à réaliser une interface avec Tkinter. J'ai donc un premier bloc, une sorte de formulaire de configuration de départ que j'ai réalisé ces jours-ci. Je me pose maintenant la question de savoir comment afficher les prints de mon programme qui m'informe sur le déroulement et le bon fonctionnement du programme. (Je souhaite en effet passer mon programme en .exe pour faciliter la portabilité sur d'autres postes) Du coup j'ai pensé à ça : Code :
Sauf que je suis novice en Tkinter (et Python aussi) et que je ne comprends pas tout à fait comment fonctionne les mainloop ? Quand j'essaie de démarrer une nouvelle fenetre "root" (deuxième partie du script), erreur fenetre détruite, oui certes, mais pas moyen d'en reconstruire une ?? Et donc troisième question : Dans ma fonction print1(message), Comment vider le contenu de "message", ou plutôt, comment virer le contenu dans ma fenetre root et inserer un nouveau "message" (correspondant à un nouvel appel de print1() message, dont à un avancement dans mon programme) Et encore une petite dernière question : Là j'ai un script total qui correspond à ceci... [Fenetre] (formulaire de configuration) (qui permet de réaliser...) [CODE DEVELOPPE] C'est dans ce code développé que je voudrais appelé print1(), donc root.mainloop() serait tout à la fin de mon code ? Merci de vos réponses Titi |
||
|
|
00
|
|
|
#2 | |||
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 322 ![]() |
Citation:
Citation:
Citation:
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
|||
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() |
|
|
|
00
|
|
|
#4 | ||
|
Membre à l'essai
![]() |
Voilà où j'en suis en fait:
Code :
Si quelqu'un pouvait m'indiquer le nord ? |
||
|
|
00
|
|
|
#5 | ||
|
Membre à l'essai
![]() |
Bon voilà où je suis avancé finalement :
Code :
J'ai essayer plein de fonction pour update blanc9 mais pas moyen d'y arriver ! |
||
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Salut,
Si j'ai bien compris, ton problème est d'envoyer un texte quelconque dans une fenêtre? La fonction sendToLogger le fait... Mais utilise un objet global, ce qui peut à la limite passer pour une sorte de "print", mais n'est quand même pas conseillé. Code :
A+ Pfeuh |
||
|
|
00
|
|
|
#7 | ||
|
Membre à l'essai
![]() |
En cherchant un peu j'ai trouvé ma réponse. Merci tout de même pfeuh !
J'ai ajouté : blanc9.update_idletasks() et blanc9.config(textvariable=labelVariable) Code :
Résolu !
|
||
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() |
Bonjour,
Je me permet de relancer le sujet car ma solution n'est pas très fonctionnel. J'explique : J'ai un programme qui utilise en autre Tkinter pour remplir un formulaire de configuration. De ce formulaire, le programme va s'executer d'une façon spécifique. Aujourd'hui, pour utiliser mon programme j'utilise le .py . Le programme se lance normalement et j'ai des print qui apparaissent dans la fenetre cmd.exe et qui me permette de savoir où en est l'avancement du programme. Ce que je voudrais faire c'est compiler mon .py en .exe (ça pas de soucis) et continuer à avoir la fenetre cmd qui s'ouvre pour avoir les prints qui me renseignerait sur l'avancement du programme. Mais comment faire ? Je vous remercie pour votre aide et bon week-end (déjà cherché sur le web) (déjà cherché sur les divers forums) |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 322 ![]() |
Bonsoir,
Il faut regarder du côté de py2exe ou de cx_freeze selon votre version python.
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
|
|
01
|
|
|
#10 | |
|
Membre à l'essai
![]() |
J'arrive à compiler :
Citation:
(Si je pose la question c'est que les print n'apparaissent pas dans ma version compilé) |
|
|
|
01
|
|
|
#11 |
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 322 ![]() |
Euh oui mais vous utilisez quoi py2exe, cx_freeze?
Je vous rassure, vous ne compilez pas avec ni l'un ni l'autre, vous avez simplement un interpréteur python dans votre exe. Il y a un paramètre dans l'un ou l'autre vous permettant de faire le choix ou non de la présence de la console. cython oui, car il transforme votre fichier python en C, puis il compile.
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
|
|
00
|
|
|
#12 |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 709 ![]() |
Salut,
Pourquoi voulez vous cmd.exe après vous être donné tant de mal à afficher vos messages dans une fenêtre Tk? Avec quoi est généré l'exécutable? - W
__________________
Architectures Post-Modernes |
|
|
00
|
|
|
#13 | |
|
Membre à l'essai
![]() |
Bonjour et merci de vos réponses.
J'utilise cx_freeze pour avoir mon .exe cela me permet de passer mon programme sur d'autres machines. Maintenant savoir qu'est ce qu'il y a dans ce point exe, ça n'est pas une question cruciale pour moi. Dans le début de ce topic, j'explique que j'ai réussi à mettre les messages dans une fenetre avec un label à l'intérieur. Le seul problème c'est que c'est le gros foutoir avec toutes ces fenetres (une fenetre principale, plusieurs fenetre d'ouverture tkFileDialog.askopenfilename, et donc la fenetre de suivi avec mon label(message) dedans. Mais l'affichage n'est pas fluide. Et puis, ce qui est bien avec cmd.exe c'est qu'on peut garder la vue sur les précédents messages (print) que ressort le programme. Pour retranscrire ca avec des label comme j'ai essayé dans ce topic, il faudrait alors que j'utilise plusieurs label avec label1=(message1) label2(message0), ect... Pas top. Donc, solution laissée de coté. Citation:
Je vais donc regardé du côté de cython Merci pour vos réponses |
|
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 322 ![]() |
Non tu n'as pas compris, avec cython, tu vas compiler, mais tu n'auras plus la console.
Pour py2exe, tu as normalement créé un setup.py Regarde du côté de cette ligne Tu dois avoir console et non window.
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
|
|
00
|
|
|
#15 |
|
Membre à l'essai
![]() |
D'accord, j'avais compris que Cython faisait la même chose que py2exe et cx_freeze, ce qui n'est pas le cas, ok.
Je réalise mes exe avec cx_freeze. Il faudrait que je retrouve une façon simple pour afficher la console avec cx_freeze de la même manière que celle que tu m'as proposé . J'avais précédemment testé py2exe mais l'exe généré ne fonctionnait pas. Merci de ta réponse et désolé pour ma mauvaise compréhension. Je suis encore une jeune utilisateur de python et les notions d'informatique me surpasse parfois. |
|
|
00
|
|
|
#16 |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 709 ![]() |
Salut,
Si le sujet est "comment construire un executable avec cx_freeze" qui soit standalone (i.e. avec la console), pourquoi ne pas ouvrir un nouveau "topic"? Postez aussi le script setup.py que vous avez définit, çà pourrait aider... Il doit ressembler à çà. Normalement console ou pas est passé via "base". - W
__________________
Architectures Post-Modernes |
|
|
00
|
|
|
#17 | ||
|
Membre à l'essai
![]() |
Bonjour,
En fait je ne refais pas un nouveau topic car la question reste la même : Comment afficher mes prints et mon GUI (de la même manière que lorsque j'execute un simple .py) avec un .exe Mais j'ai compris le setup.py suivant et résolu mon problème: Code :
J'aurais encore mon GUI et ma fenetre noire et mes print. Bon voilà j'ai résolu mon problème. Merci tout de même |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com