|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : mai 2010 Messages : 8 ![]() |
Bonjour à tous, je viens de fraichement créer un petit programme pour concevoir un jeu sous python et le module Tkinter. Mais voila, quand j'assemble mes deux premier prototypes, voila ce que la console m'affiche :
Code :
Voici mon programme en entier : Code :
Merci de m'aider ! Je vous serai très reconnaissant de me sortir de ce guépier, surtout que je dois soutenir ce programme devant un jury la semaine prochaine ! |
||||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 617 ![]() |
Bonjour tefacorp,
Désolé de le dire (Ce n'est pas un reproche, j'ai sans doute fais pire/Tkinter c'est un bon début, persévère) mais il y as du travail. C'est la structure de ton code et la visibilité des variables/objet ton problème. Si tu déplace saisir ici : Code :
Par exemple le fenetre_nouvelle_partie = destroy() j'avais jamais vus. fenetre_nouvelle_partie.destroy() par contre cela me parle. Même si tu corrige cela tu arrive sur un global name 'fenetre_nouvelle_partie' is not defined : sympa. C'est la structure qui est à revoir (et la portée des objets/variables). De plus : Code :
Etc... Regarde ce code (Pas trop mal pour un début) par exemple. Avant de te lancer regarde ceci à partir d'ici mais pour ta structure ici. Bon code @+
__________________
Merci d'utiliser le forum pour les questions techniques. |
||||
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : mai 2010 Messages : 8 ![]() |
Merci PauseKawa de me répondre aussi rapidement.
En effet, je me suis très vite rendu compte de mes lacunes... C'est pourquoi j'ai potasser un peu et régler ce problème. J'ai compris qu'il fallait returné des valeur après les fonctions pour me permettre de les réutiliser. Mais voila, j'ai un autre problème un peu plus inquiétant. Mon programme marche enfin comme je le voulais sauf que dans la fonction carte_monde () tout se lance parfaitement bien sauf l'image associé au canvas : Carte monde.gif . En effet, il y apparait tout les boutons et le texte sauf la photo associé au canvas. J'ai seulement le cadre noire délimitant le canvas. Alors qu'une nouvelle fois, quand j'isole la fonction exactement comme elle est écrite ici, l'image apparait bien... Merci encore une fois de m'aider Code :
|
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 617 ![]() |
Bonjour,
Tu as deux fenêtres Tk, Photoimage n'aime pas cela. Regarde du coté de Toplevel. @+
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 8 ![]() |
Tout d'abord encore merci pour l'aide apporter, comme tu l'as si bien dit : je débute ! Néanmoins je ne comprends pas ce que tu veux dire : dans ma fonction carte_monde () je n'ai qu'une commande Tk() appelée ! -> fenetre_carte_monde = Tk(). Et j'ai beau remplacer Toplevel () par Tk() le problème persiste : canvas noir. J'ai sans doute pas très bien compris ce que tu veux dire, peux-tu préciser ?
|
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 617 ![]() |
Bonsoir,
Code :
@+
__________________
Merci d'utiliser le forum pour les questions techniques. |
||
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : mai 2010 Messages : 8 ![]() |
RAAAAA j'ai enfin compris mon erreur ! Merci pour ta patience, PauseKawa ! Voici mon programme qui fonctionne parfaitement :
Code :
|
||
|
|
00
|
|
|
#8 | ||||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 617 ![]() |
Bonjour,
Quelques notes pour faire plus propre : Un Toplevel n'as pas besoin de mainloop. Si tu n'as pas besoin de le nommer par la suite pas besoin de donner un nom a tes Widgets : Code :
Code :
Soit tu as une fonction de type ou tu as besoin de b Soit tu a une procédure de type : Et la pas la peine de mettre return. Cela retourneras toujours None. Mais je vois que tu avance. Pense a regarder le chapitre 13 que je t'ai conseiller dés que tu te le sentiras. Cela te permettras de faire quelque chose de bien plus propre. Bon code.
__________________
Merci d'utiliser le forum pour les questions techniques. |
||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com