Bonjour

Jai la petite application suivante qui est supposee afficher des etiquettes a volonte. Mais lorsqu'on clicque sur le texte de l'etiquette, celui ci se positionne verticalement ??

Est ce que quelqu'un saurait pourquoi et comment eviter ce comportement ?

Merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
 
from Tkinter import *
from math import *
 
seedList = []
 
class Env_Classification (Frame):
	" classification des Seeds "
	def __init__(self, larg=400, haut=700):
		Frame.__init__(self)											# Appel au constructeur de la classe parente
		self.larg, self.haut = larg, haut								# Memorisation des variables
		self.can = Canvas(self, width=larg, height=haut, bg ='light grey')	# Initialisation du canvas conteneur
		self.can.pack(padx =5, pady =3)
		Bouton(self, text="New seed", command=self.newSeed)				# Bouton d'ajout d'un nouveau Seed
		self.pack()														# Affichage
 
	def newSeedBinding(self, tag=None) :
		"	Initialise un gestionnaire d'evenements pour chaque Seed	"
		self.tag = tag
		self.can.tag_bind(tag, "<Button-1>", self.mouseDown)
		self.can.tag_bind(tag, "<Button1-Motion>", self.mouseMove)
		self.can.tag_bind(tag, "<Button1-ButtonRelease>", self.mouseUp)
 
	def newSeed(self) :
		"	methode affichant un nouveau seed	"
		nm = "seed_" + str(len(seedList))
		Seed(self.can, tag=nm)
		self.newSeedBinding(nm)
		seedList.append(nm)
 
	def mouseDown(self, event):
		"Op. à effectuer quand le bouton gauche de la souris est enfoncé"
		self.currObject =None
		# event.x et event.y contiennent les coordonnées du clic effectué :
		self.x1, self.y1 = event.x, event.y
		# <find_closest> renvoie la référence du dessin le plus proche :
		self.selObject = self.can.find_closest(self.x1, self.y1)
		# modification de l'épaisseur du contour du dessin :
		self.can.itemconfig(self.selObject, width =10)
	def mouseMove(self, event):
		"Op. à effectuer quand la souris se déplace, bouton gauche enfoncé"
		x2, y2 = event.x, event.y
		dx, dy = x2 -self.x1, y2 -self.y1
		if self.selObject:
			currentTag = self.can.gettags(CURRENT)
			self.can.move(currentTag[0], dx, dy)
			self.x1, self.y1 = x2, y2
	def mouseUp(self, event):
		"Op. à effectuer quand le bouton gauche de la souris est relâché"
		if self.selObject:
			self.can.itemconfig(self.selObject, width =1)
			self.selObject =None
 
class Seed :
	""" information """
	def __init__(self, boss, x=200, y=350, text='empty unit', tag=None):
		self.boss = boss            # référence du canevas
		self.text = text
		self.tag = tag
		self.max = 0
		self.x, self.y = x, y     # Coordonnees  du Seed
		# dessiner le Seed :
		self.hSeed = 20               # hauteur du Seed
		self.lSeed = 200               # largeur du Seed
		self.x1, self.y1 = x-self.lSeed/2, y-self.hSeed
		self.x2, self.y2 = x+self.lSeed/2, y+self.hSeed
		self.SeedF = boss.create_rectangle(self.x1, self.y1, self.x2, self.y2, width =3, fill="ivory", tags=self.tag)
		self.SeedT = boss.create_text(self.x, self.y, text=self.text, tags=self.tag)
 
class Bouton (Button):
	" Design general des boutons "
	def __init__(self, boss, larg=12, haut=1, text="button", command=None):
		Button.__init__(self)
		self.boss = boss
		self.text = text
		self.command = command
		self.larg, self.haut = larg, haut
 
		self.bouton = Button(boss, width=larg, height=haut, bg ='ivory', activebackground="red", activeforeground="black",
						anchor=CENTER, bd=3, fg="blue", highlightcolor="black", highlightthickness=4, text=self.text, command=self.command).pack(side=LEFT, padx =5, pady =3)
 
if __name__ == '__main__':
	# Code pour tester sommairement la classe Seed :
	Env_Classification().mainloop()