Hello happy taxe payers (très à propos en ces temps de gilets jaunes !)
Suivant des avis recueillis ici le mois dernier, je me mets au Python pour mon projet de télécommande avec un PC et un Raspberry. Je programme actuellement le PC : j'ai besoin de trois genres d'objets : des interrupteurs (tout ou rien), des ascenseurs ("analogiques" pour le moteur et la direction) et des afficheurs, pour telle ou telle information.
J'en suis à tenter d'écrire la classe Inter : il a deux états, "ouvert" et "fermé", auxquels correspondent visuellement deux images différentes. On provoque le basculement en cliquant sur l'image.
Voici où j'en suis :
et là, je sèche : la routine "bascule" a besoin de "self" pour accéder à l'Etat, mais (si j'ai bien compris) l'appel de "bascule" dans le bind n'a pas droit à un argument. Comment on résout ça ?
Merci de votre aide...
AMIcalement.
Suivant des avis recueillis ici le mois dernier, je me mets au Python pour mon projet de télécommande avec un PC et un Raspberry. Je programme actuellement le PC : j'ai besoin de trois genres d'objets : des interrupteurs (tout ou rien), des ascenseurs ("analogiques" pour le moteur et la direction) et des afficheurs, pour telle ou telle information.
J'en suis à tenter d'écrire la classe Inter : il a deux états, "ouvert" et "fermé", auxquels correspondent visuellement deux images différentes. On provoque le basculement en cliquant sur l'image.
Voici où j'en suis :
from tkinter import *
from pillow import *
BoutonFerme=tkinter.PhotoImage("./Images/InterF.jpg")
BoutonOuvert=tkinter.PhotoImage("./Images/InterO.jpg")
class Inter:
def __init__(self, nom, larg, haut, parent):
""" Un Inter a un nom, une largeur, une hauteur et un parent.
Il a aussi un état, ouvert ou fermé, que l'on change en cliquant"""
self.BoutonO=open(BoutonOuvert)
self.BoutonO=resize_contain(BoutonO,larg,hauf)
self.BoutonF=open(BoutonFerme)
self.BoutonF=resize_contain(BoutonF,larg,hauf)
self.Etat="Ouvert"
self.frame=Frame(Parent, width=larg,height=haut,bd=1,image=BoutonO)
self.frame.bind("<Button-1>", bascule)
def bascule():
if
et là, je sèche : la routine "bascule" a besoin de "self" pour accéder à l'Etat, mais (si j'ai bien compris) l'appel de "bascule" dans le bind n'a pas droit à un argument. Comment on résout ça ?
Merci de votre aide...
AMIcalement.