TkInter, curseur: comment déclencher l'événement que lorsque les iteraction est-elle complète?
Je suis en utilisant le curseur pour mettre à jour ma visualisation, mais la commande updateValue est envoyé à chaque fois que je bouge le curseur, même pour des valeurs intermédiaires.
Au lieu de cela, je veux déclencher que lorsque je presse le bouton de la souris et l'interaction est terminée.
self.slider = tk.Scale(self.leftFrame, from_=0, to=256, orient=tk.HORIZONTAL, command=updateValue)
Comment puis-je déclencher la fonction qu'une seule fois, lorsque l'interaction est terminé ?
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas.
Ce que vous pouvez faire est d'avoir votre commande délai de travail réel pour une courte période de temps à l'aide de "après". Chaque fois que votre commande est appelée, annule toute de travail et de reporter le travail. En fonction de vos besoins réels sont, d'une demi-seconde de retard pourrait être suffisant.
Un autre choix est de ne pas utiliser la commande intégrée de la fonctionnalité et au lieu d'utiliser des liaisons personnalisées. Cela peut être beaucoup de travail pour obtenir exactement droit, mais si vous avez vraiment besoin de contrôle de précision, vous pouvez le faire. N'oubliez pas que l'on peut interagir avec le widget à l'aide du clavier en plus de la souris.
Voici un petit exemple montrant comment planifier le travail à faire en une demi-seconde:
C'est tout à fait une question très ancienne, maintenant, mais au cas où quelqu'un tombe sur ce problème particulier, juste l'utilisation de bind() et la fonction de la "ButtonRelease-1" événement de la sorte:
Espère que cela aide quelqu'un!