Voilà voilà, ya quelques heures je me suis mis à Python ! D'abord sur le site du zéro... me suis pas mal débrouillé, 20 à tout les QCM (enfin... un qui bug mais hein ><) ! Mais ceci fait, il fallait bien que je me lance aussi sur ce qui m'interesse le plus dans un language autre que les languages web : l'interface graphique.
J'ai donc téléchargé un tutoriel d'une petite centaine de page, qui consiste à partir du début pour arriver relativement loin. Ca démarre lentement, mais au boût d'un moment ça a dû accélerer trop vite pour moi...
Au début on avait donc, une fois la bibliothèque Turtle crée, un moyen de tracer des traits sur une image.
Et plus tard, on nous apprend à créer des fenêtres.
Turtle m'ayant plus, je me suis dit "tiens ! Je vais utiliser les fonctions de turtle, mais avec une fenêtre pour gérer les déplacements !" et me voilà.
Mon problème, c'est que j'ai fait un script... et que je ne vois pas ce qui ne marche pas (ayez pitié, je suis un misérable newbie) :
#!/usr/bin/python
from Tkinter import *
from turtle import *
def fon_forward(event) :
forward(entree.get())
def fon_angle_L(event) :
left(entree.get())
def fon_angle_R(event) :
right(entree.get())
fen = Tk()
txt_Forward = Label(fen, text="Avancer de :")
txt_Left = Label(fen, text="Tourner vers la gauche de :")
txt_Right = Label(fen, text="Tourner vers la droite de :")
Forward_Entry = Entry(fen)
Angle_Entry_L = Entry(fen)
Angle_Entry_R = Entry(fen)
Forward_Entry.bind("<Return>", fon_forward)
Angle_Entry_L.bind("<Return>", fon_angle_L)
Angle_Entry_R.bind("<Return>", fon_angle_R)
Close_Button = Button(fen, text="Assez joué : j'me casse ! Cia !", command = fen.destroy)
txt_Forward.pack()
Forward_Entry.pack()
txt_Left.pack()
Angle_Entry_L.pack()
txt_Right.pack()
Angle_Entry_R.pack()
Close_Button.pack()
Pour vérifier si j'avais fait des erreurs, j'ai fait des tests sur IDLE.
Lorsque j'entre une information dans un input text (j'apelle ça comme en html hein, je sais pas encore comment dire ça sur Python ?), il dois me faire apparaître un bouton "quitter".
Ca a marché lorsque l'informatio à entrée était quelquonque. Ensuite, il fallait rentrer soit "French" pour avoir "Quitter" ou "English" pour avoir "Exit"... et c'est là que ça a raté, j'en ai donc déduis que là où j'ai capoté, c'est sur la fonction entree.get() ?
Car en fait je l'ai utilisé un peu au hasard... il m'a semblé, en lisant les scripts (parce que les explications était pas claires) que cette fonction était censé récupérer ce qui avait été écrit ?
===> Ah ! Je viens de remarquer que déjà je me gourrais, il faut appuyer sur la toûche "Enter" de gauche... enfin maintenant au moins ça me renvois un message d'erreur que voici :
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in __call__
return self.func(*args)
File "/home/@/PYTHON/turtle_interface.py", line 6, in fon_forward
forward(entree.get())
NameError: global name 'entree' is not defined
Bah c'est bien ce que je pensais alors ? Entree qui marche pas, mais je vois pas où je me trompe ?