Apprentissage d'hyptnos : Pb ScrolledText

Apprentissage d'hyptnos : Pb ScrolledText - Python - Programmation

Marsh Posté le 12-07-2006 à 10:24:14    

Hello
 
Voila ca fait quelques jour que je m'autoforme au Python et cela dans le but d'acquérir des bases de développement tripoter du code par la suite de d'autre language tel que le Dotnet et comme il faut commencer quelque part et que l'on ma conseiller le python je suis Go.
 
Alors je créer un topic qui sera en fait l'avancement de mon apprentissage ou plutot ou je mettrais mes question et mes problème lié a mon apprentissage cela évitera que je créer plusieur poste à chaque foisq ue j'ai un probleme.
 
Pour apprendre j'ai ete sur developpez.com et j'ai prit le tuto de 400 pages pour l'apprentissage. Jusque là tout va bien tout ce qui concerne les fonction mathématique sans souci je comprend le fonctionnement et j'ai reussi à faire les exo.
J'en suis donc à la parti GUI avec Tkinter. Dedans il y à un code à faire et a etudier qui est en fait dans un Canvas le mouvement automatique d'une boule des qu'elle arrive sur un bord elle change de direction et ainsi de suite.
 
Ensuite un exercice demande de pouvoir faire changer la couleur de la balle à chaque virage. J'ai donc créer un variable color que j'ai fait passer en variable global pour que le script puisse la modifier et j'ai ensuite definir une couleur par virage, ensuite j'ai defini la couleur du départ
Dans la création de la boule j'ai bien mis 'fill=color'  
 
La compilation c'est fait sans erreur seulement la boule ne change pas de couleur quelqu'un peux me dire ce qui ne va pas ?
Voici le script
 
Et aussi quand je clique sur l bouton quitter et bien a chaque fois (pour cet exo ou un autre) le script s'arrete mais la fenetre Tk() ne se ferme pas elle plante je suis oblige de la fermer a la croix et on me ditr que l'appli ne repond pas (pas de reponse) : où est le problème?
 

Code :
  1. from Tkinter import *
  2. #Définition des gestionnaires
  3. #d'évènements
  4. def move():
  5.     "déplacement de la balle"
  6.     global x1, y1, dx, dy, flag, color
  7.     x1, y1 = x1 +dx, y1 +dy
  8.     if x1 >210:
  9.         x1, dx, dy, color = 210, 0, 15, 'red'
  10.     if y1 >210:
  11.         y1, dx, dy, color = 210, -15, 0, 'blue'
  12.     if x1 <10:
  13.         x1, dx, dy, color = 10, 0, -15, 'yellow'
  14.     if y1 <10:
  15.         y1, dx, dy, color = 10, 15, 0, 'green'
  16.     can1.coords(oval1,x1,y1,x1+30,y1+30)
  17.     if flag >0:
  18.         fen1.after(50,move)     #=>Boucler après 50 millisecondes
  19. def stop_it():
  20.     "arret de l'animation"
  21.     global flag
  22.     flag =0
  23. def start_it():
  24.     "démarrage de l'animation"
  25.     global flag
  26. #if flag ==0:    Pour ne lancer qu'une seule boucle
  27.     flag =1
  28.     move()
  29. #==================Programme principal================
  30. #Les variables du Widget principal
  31. x1, y1 = 10, 10     #Coordonnées initials
  32. dx, dy = 15, 0      #'pas' du déplacement
  33. flag = 0            #Commutateur
  34. color = 'black'     #couleur initial
  35. fen1= Tk()
  36. fen1.title("Animation auto avec Tkinter" )
  37. #Création des widgets "enfants":
  38. can1 = Canvas (fen1, bg='dark grey', height =250, width=250)
  39. can1.pack(side=LEFT, padx=5, pady=5)
  40. oval1 = can1.create_oval(x1, y1, x1+30, y1+30, width=2, fill=color)
  41. bou1 = Button(fen1,text='Quitter', width=8, command=fen1.quit)
  42. bou1.pack(side=BOTTOM)
  43. bou2 = Button(fen1,text='Démarrer',width=8, command=start_it)
  44. bou2.pack()
  45. bou3 = Button(fen1,text='Arrêter',width=8, command=stop_it)
  46. bou3.pack()
  47. #Démmarage du receptionnaire d'évènements
  48. fen1.mainloop()


 
Merci par avance :)


Message édité par hyptnos le 03-08-2006 à 16:31:35
Reply

Marsh Posté le 12-07-2006 à 10:24:14   

Reply

Marsh Posté le 12-07-2006 à 13:44:35    

UP :(

Reply

Marsh Posté le 12-07-2006 à 18:10:16    

Toujours pas de réponse :(

Reply

Marsh Posté le 13-07-2006 à 22:27:35    

up

Reply

Marsh Posté le 13-07-2006 à 22:41:35    

Citation :

je m'autoforme au Python


Citation :

La compilation c'est fait sans erreur


 
Ca se compile le python? on m'aurais mentit?  :pt1cable:  :pt1cable:

Reply

Marsh Posté le 13-07-2006 à 22:50:45    

Psykering a écrit :

Citation :

je m'autoforme au Python


Citation :

La compilation c'est fait sans erreur


 
Ca se compile le python? on m'aurais mentit?  :pt1cable:  :pt1cable:


A ton avis les fichiers .pyc c'est quoi ? :o
 
 
 
Pour ton problème de couleur, le problème est que lorsque tu construit ta boule, tu lui donne comme couleur la valeur de la variable color. puis, lorsque tu la déplace tu change la valeur de la variable color, sauf que la boule n'est pas liée à la variable color mais à sa valeur, donc elle ne voit pas le changement de valeur de la variable color. il faut que tu cherche dans la documentation de Tk, tu dois avoir une fonction pour changer la couleur de la boule.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 14-07-2006 à 19:06:21    

Arf :(

Reply

Marsh Posté le 25-07-2006 à 09:40:26    

0x90 a écrit :

A ton avis les fichiers .pyc c'est quoi ? :o


 
 
C'est un fichier precomplié et non pas compilé. Python ne complie pas ......  par contre il interprete. Comme java, avec les .class.
 
Un programme complié fonctionne tous seul, tu me dira comment ton .pyc s'execute sur ton pc sans python.exe.
 
Allé faut pas dire n'importe koi non plus au debutant.  :na:

Reply

Marsh Posté le 25-07-2006 à 10:01:49    

:-)  
En tout cas merci de la précision  
:-)
 
J'ai du mettre un peu de coté le Python car j'ai un petit projet en ASP à faire (et je ne connaissais pas non plus) mais bon l'apprentissage de l'ASP à été vite fait je me débrouille du moins :)
 
Dès que j'ai fini je me remet au Python

Reply

Marsh Posté le 25-07-2006 à 19:03:56    

nebucade a écrit :

C'est un fichier precomplié et non pas compilé. Python ne complie pas ......  par contre il interprete. Comme java, avec les .class.
 
Un programme complié fonctionne tous seul, tu me dira comment ton .pyc s'execute sur ton pc sans python.exe.
 
Allé faut pas dire n'importe koi non plus au debutant.  :na:


 
Désolé, mais le code dans le .pyc est compilé, dans un langage qui n'est pas celui du processeur mais du bytecode python et donc être interprété, mais il est quand même compilé [:spamafote]
 
(quelle est la signification exacte de tout seul ? un binaire "typique" fonctionne t'il réellement tout seul, sans libs, sans linker, ... ?)


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 25-07-2006 à 19:03:56   

Reply

Marsh Posté le 30-07-2006 à 19:24:43    

nebucade a écrit :

Un programme complié fonctionne tous seul


Non, cette déclaration est fausse [:spamafote]  
 
La compilation, c'est la création d'un fichier dans un langage de destination de plus bas niveau que le langage source [:spamafote]  
 
Le C est donc compilé vers du langage machine, mais le Java est compilé en java bytecode, le Python est compilé en bytecode, le C# est compilé en MSIL, qui sont ensuite interprétés (et parfois recompilés JIT).
 
Le Ruby par contre n'est jamais compilé
 
Enfin, si tu ne me crois toujours pas je vais te demander d'ouvrir la doc Python section 18.8, elle me semble claire sur le sujet.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
Reply

Marsh Posté le 30-07-2006 à 20:50:41    

masklinn a écrit :


La compilation, c'est la création d'un fichier dans un langage de destination de plus bas niveau que le langage source [:spamafote]  


 
bien qu'en pratique ce soit la plupart du temps vrai (et j'ai pas de contre-exemple sous la main), à strictement parler non, pas forcément.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 03-08-2006 à 16:34:24    

Bon j'ai un nouveau problème
 

Code :
  1. frMid =Frame(self)                        #cadre du milieu
  2.         Label(frMid, text ="Définition :",
  3.               width =30).grid(row =1)
  4.         self.enDef =ScrolledText(frMid)
  5.         self.enDef.grid(row =2)


 
Quand j'execute mon code il me met
 

Citation :


Traceback (most recent call last):
  File "C:\Python24\essai GV Balise.pyw", line 43, in -toplevel-
    Application().mainloop()
  File "C:\Python24\essai GV Balise.pyw", line 37, in __init__
    self.enDef =ScrolleText(frMid).grid(row =2)
NameError: global name 'ScrolleText' is not defined


 
Si je remplace le ScrolledText par Entry  
ca marche mais il veux pas du scrolledtext
 
Pour un info je suis toujours sur TKinter
 
et j'ai fait en haut de code un
 

Code :
  1. from Tkinter import *
  2. from tkFileDialog import asksaveasfile, askopenfile


 
Merci de votre aide
 

Reply

Marsh Posté le 03-08-2006 à 23:00:14    

t'as marqué ScrolleText au lieu de ScrolledText


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 04-08-2006 à 08:08:40    

Erreur de saisie
 
Mais meme en mettant ScrolledText cela fait la meme chos meme erreur  
NameError: global name 'ScrolledText' is not defined

Reply

Marsh Posté le 04-08-2006 à 14:36:44    

Personne ?
 
Sinon comment faire pour remplacer le ScrolledText ? j'aimerais pouvoir y saisir (ou y afficher) de long text (enfin long je me comprend mais plus que 2 ligne).
 
Merci d'avance

Reply

Marsh Posté le 07-08-2006 à 11:34:24    

Up please

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed