Logiciel python tkinter
Bonjour,
je souhaiterais afficher plusieurs cercles dans un canevas et pouvoir modifier leur remplissage. J'ai une solution en programmation "linéaire" qui fonctionne. J'essaie de la transposer en POO en créant une classe mais la modification du remplissage ne fonctionne pas.
[code]
#==============================================================================
class Lampe (): #-- les lampes s'affichent dans le canevas cnv à créer
def __init__(self , pte, pts):
self.pte=pte #-- Entrée lampe
self.pts=pts #-- Sortie lampe
r=((self.pts.y - self.pte.y)**2 + (self.pts.x - self.pte.x)**2)**0.5/2
mx=(self.pts.x + self.pte.x)/2 #-- abscisse milieu
my=(self.pts.y + self.pte.y)/2 #-- ordonnée milieu
lmp=cnv.create_oval(mx-r , my-r , mx+r , my+r , fill="grey")
def allumer (self):
cnv.itemconfig(self.lmp, fill="red")
[code]
Y a-t-il une solution ?
Cordialement.
je souhaiterais afficher plusieurs cercles dans un canevas et pouvoir modifier leur remplissage. J'ai une solution en programmation "linéaire" qui fonctionne. J'essaie de la transposer en POO en créant une classe mais la modification du remplissage ne fonctionne pas.
[code]
#==============================================================================
class Lampe (): #-- les lampes s'affichent dans le canevas cnv à créer
def __init__(self , pte, pts):
self.pte=pte #-- Entrée lampe
self.pts=pts #-- Sortie lampe
r=((self.pts.y - self.pte.y)**2 + (self.pts.x - self.pte.x)**2)**0.5/2
mx=(self.pts.x + self.pte.x)/2 #-- abscisse milieu
my=(self.pts.y + self.pte.y)/2 #-- ordonnée milieu
lmp=cnv.create_oval(mx-r , my-r , mx+r , my+r , fill="grey")
def allumer (self):
cnv.itemconfig(self.lmp, fill="red")
[code]
Y a-t-il une solution ?
Cordialement.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
AttributeError: 'Lampe' object has no attribute 'lmp'
Je ne sais pas comment accéder à cet attribut "fill" dans une classe .
En programmation linéaire je faisais simplement cnv.itemconfig(lampe_1, fill="red")
avec lampe_1 = cnv.create_oval(400,35,440,75) par exemple .
Un grand merci raoul.S pour cette aide aussi rapide que pertinente . Je vais pouvoir continuer mon application .