[python]Générer et invoquer un évènement
Résolu
teebo
Messages postés
33491
Date d'inscription
Statut
Modérateur
Dernière intervention
-
teebo Messages postés 33491 Date d'inscription Statut Modérateur Dernière intervention -
teebo Messages postés 33491 Date d'inscription Statut Modérateur Dernière intervention -
A voir également:
- [python]Générer et invoquer un évènement
- Citizen code python avis - Accueil - Outils
- Comment générer un qr code - Guide
- Generer mot de passe - Télécharger - Sécurité
- Creer un evenement sur whatsapp - Accueil - WhatsApp
- Python est introuvable. exúcutez sans argument pour procúder ó l - Forum Python
4 réponses
mmm... j'imagine que ton interface graphique peu passer une de ses méthodes en paramètre à un objet (pour s'enregistrer).
(Vu qu'on peut passer des référence à des méthodes/fonctions en paramètre).
Un truc du genre (syntaxe non vérifiée):
et ton interface graphique pourrait alors s'enregistrer:
J'imagine qu'on pourrait aussi utiliser des décorateurs pour alléger un peu la syntaxe.
(Vu qu'on peut passer des référence à des méthodes/fonctions en paramètre).
Un truc du genre (syntaxe non vérifiée):
class maclasse: def __init__(self): self.funcs = [] # List des callback enregistrées def register(self,func): self.funcs.append(func) # On garde une référence de la fonction à appeller def __setattr__(self,key,value): # A chaque modification d'un attribut... self.__dict__[key] = value for func in self.funcs: func(key,value) # ...on prévient ceux qui sont enregistrés qu'on a été modifié (on passe la valeur modifiée)
et ton interface graphique pourrait alors s'enregistrer:
def __init__(self): self.o = maclasse() self.o.register(update) # On passe la méthode en paramètre def update(self,key,value): ... # Mise à jour de mes widgets
J'imagine qu'on pourrait aussi utiliser des décorateurs pour alléger un peu la syntaxe.
Quand tu dis "change", tu veux dire "quand un des attributs est changé" ?
Tu peux implémenter __setattr__, ce qui ce permettra de détecter la moindre modification d'un attribut de ta classe.
Si c'est juste pour surveiller un attribut particulier, il y a une autre méthode.
Tu peux implémenter __setattr__, ce qui ce permettra de détecter la moindre modification d'un attribut de ta classe.
Si c'est juste pour surveiller un attribut particulier, il y a une autre méthode.
Non, je veux dire "J'ai ajouté un élément dans une collection qui est montrée sur l'interface utilisateur" en fait...
Un genre de ObjectAddedEvent
A moins que les List ou les Dico implémentent ça...
Un genre de ObjectAddedEvent
A moins que les List ou les Dico implémentent ça...