Problème avec un code source python.

Fermé
calamar31 - 2 sept. 2010 à 09:07
 calamar31 - 2 sept. 2010 à 14:45
Bonjour,
je programme en python et interface tkinter ceci est mon premier code avec tkinter et lorsque je le lance (le lien de mon code http://musicorider.ath.cx/allpythagoreV3.py ) et que je tape admetton 1 dans entrecote1 , entrecote2 et 3 affiche 1 ainsi que messagelabel!
pouvez-vous m'aider
merci


A voir également:

4 réponses

Utilisateur anonyme
2 sept. 2010 à 09:10
déjà la page existe pas, ca aide pas
0
sur mon ordi sa marche mais bon je vais le copier coller alors le voici:
# -*- coding: cp1252 -*-
#All pythagore V3 (GUI)#
#importation de tkinter et math#
from Tkinter import *
from math import sqrt
#création des variables#
opaf=0 #opaf = opération a faire#
cote1="0" #cote1 , 2 et 3 doivent etre de type String
cote2="0"
cote3="0"
message="0" #message est la variable qui affichera le résultat#
#création des fonctions du programme#
def rectangleoupas():
if (int(cote3)*int(cote3)==int(cote2)*int(cote2)+int(cote1)*int(cote1)):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "est rectangle. "
elif (int(cote2)*int(cote2)==int(cote3)*int(cote3)+int(cote1)*int(cote1)):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "est rectangle. "
elif (int(cote1)*int(cote1)==int(cote2)*int(cote2)+int(cote3)*int(cote3)):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "est rectangle. "
elif (int(cote3)*int(cote3)!=int(cote2)*int(cote2)+int(cote1)*int(cote1)and int(cote2)*int(cote2)!=int(cote3)*int(cote3)+int(cote1)*int(cote1)and int(cote1)*int(cote1)!=int(cote2)*int(cote2)+int(cote3)*int(cote3)):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "n'est pas rectangle. "
#début du programme#
fenetre = Tk()
labelcote1=Label(fenetre,text="entrer la cote 1")
entrecote1=Entry(fenetre,textvariable = cote1)
labelcote2=Label(fenetre,text="entrer la cote 2")
entrecote2=Entry(fenetre,textvariable = cote2)
labelcote3=Label(fenetre,text="entrer la cote 3")
entrecote3=Entry(fenetre,textvariable = cote3)
boutton1=Button(fenetre,text="Alors?",command = rectangleoupas())
messagelabel=Label(fenetre,textvariable = message)
labelcote1.grid(row=0,column=0)
entrecote1.grid(row=0,column=1)
labelcote2.grid(row=1,column=0)
entrecote2.grid(row=1,column=1)
labelcote3.grid(row=2,column=0)
entrecote3.grid(row=2,column=1)
boutton1.grid(row=3,column=1)
messagelabel.grid(row=4,column=1)
fenetre.mainloop()
0
a et aussi a quoi sert la fonction mainloop() ?
0
Utilisateur anonyme
2 sept. 2010 à 12:16
Pour récupérer la valeur d'un entry c'est la méthode get()

exemple:

entree=Entry(fenetre)
entree.pack()

#Recuperation de la valeur entrée par l'utilisateur

valeur=entree.get()

Les textvariables dans tes entry, tu peux les virer.

Mainloop:

(3) La troisième instruction exécute la "boucle principale (mainloop)" (c'est-à-dire, l'event loop), qui est une méthode de l'objet "root" . Tant que l'on est dans la boucle principale, on attend un évènement qui se passe dans (la fenêtre) root. Quand un évènement arrive, il est traité et la boucle continue, en attente de l'évènement suivant. La boucle continue à s'exécuter jusqu'à ce qu'un évènement "destroy" arrive dans le fenêtre d'avant-plan. Un évènement "destroy" ferme une fenêtre. Quand la fenêtre d'avant-plan est détruite, la fenêtre est fermée et on sort de l'event loop.

Voir l'adresse suivante

http://www.ferg.org/thinking_in_tkinter/languages/france/penser_en_tkinter.html
0
excellente explication merci!!!
0