Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#1 Le 08/01/2013, à 16:13

brital

[Résolu]Problème Python3, Tkinter et les canvas.

Bonjour,
J'ai recopié l'exemple du livre de G. Swinnen "Apprendre à programmer avec Python3"(chapitre 9 page 85): tracé de lignes dans un canevas.
Le problème, c'est quand j'appuie sur le bouton "changer la couleur", la couleur de la future ligne ne change pas. Et je ne vois pas trop pourquoi...

###############################################################################
# Importation de fonctions externes:
from tkinter import *
from random import randrange
###############################################################################
## Définition locale de fonctions:
def drawLine() :
	"Tracé d'une ligne dans le canevas can1"
	global x1, y1, x2, y2, coul, can1
	can1.create_line(x1,y1,x2,y2,width=2, fill=coul)
	# modifications des coordonnées pour la ligne suivante.
	y2, y1 = y2+10, y1-10

def changecolor():
	"Changement aléatoire de la couleur du tracé"
	global couleur
	pal = ['purple','cyan','maroon','green','red','blue','orange', 'yellow']
	c = randrange(8)
	coul = pal[c]
	
###############################################################################
# Corps principal du programme:
# Les variables suivantes sont utilisées de manière globale.
x1,	y1, x2, y2 = 10, 190,190,10	# coordonnées de la ligne.
coul = 'dark green'				# couleur de la ligne.
# Création du widgets principal(maître).
fen1 = Tk()
# Création des widgets "esclave".
can1 = Canvas(fen1, bg='dark grey',height=200,width=200)
can1.pack(side=LEFT)
bou1 = Button(fen1,text='Quitter', command=fen1.quit)
bou1.pack(side=BOTTOM)
bou2 = Button(fen1, text='Tracer une ligne',command=drawLine)
bou2.pack()
bou3 = Button(fen1,text='Autre couleur',command=changecolor)
bou3.pack()
	
fen1.mainloop()		# démarrage du gestionnaire d'événements. 
	
fen1.destroy()		        # destruction(fermeture) de la fenêtre.
	

Dernière modification par brital (Le 08/01/2013, à 18:14)

Hors ligne

#2 Le 08/01/2013, à 18:05

pingouinux

Re : [Résolu]Problème Python3, Tkinter et les canvas.

Bonjour,
Petite erreur d'étourderie dans changecolor (coul != couleur) :

	global couleur
..........................
	coul = pal[c]

Hors ligne

#3 Le 08/01/2013, à 18:13

brital

Re : [Résolu]Problème Python3, Tkinter et les canvas.

Oh merci, mais que je suis c*n yikes

Hors ligne

Haut de page ↑