Je crée un nouvel objet Button mais je n'ai pas spécifié l'option command
lors de la création. Est-il possible dans Tkinter de changer la commande (onclick) après que l'objet a été créé?Commande de modification Méthode du bouton Tkinter dans Python
Répondre
Bien que Eli Courtwright's programme fonctionnera fine¹, ce que vous semblez vraiment vouloir bien est juste un moyen de reconfigurer après instanciation tout attribut que vous pourriez avoir défini lorsque vous instantiated² . C'est par la méthode configure() que vous le faites.
¹ "fine" si vous utilisez uniquement la souris; Si vous vous souciez de la tabulation et que vous utilisez les boutons [Espace] ou [Entrée], vous devrez également implémenter (dupliquer le code existant) les événements de frappe. La définition de l'option command
à travers .configure
est beaucoup plus facile. ² le seul attribut qui ne peut pas changer après l'instanciation est name
.
Sûr; utilisez simplement la méthode bind
pour spécifier le rappel après la création du bouton. Je viens d'écrire et de tester l'exemple ci-dessous. Vous pouvez trouver un tutoriel bien de faire cela à http://www.pythonware.com/library/tkinter/introduction/events-and-bindings.htm
from Tkinter import Tk, Button
root = Tk()
button = Button(root, text="Click Me!")
button.pack()
def callback(event):
print "Hello World!"
button.bind("<Button-1>", callback)
root.mainloop()
- 1. bouton Tkinter bind
- 2. Python tkInter Fun d'entrée
- 3. Déterminez quel bouton a été enfoncé dans Tkinter?
- 4. découpage de texte en python/tkinter
- 5. bouton Tkinter lier et parent deatroy
- 6. Python Tkinter Tk/Tcl utilisation Problème
- 7. Développement de GUI en Python: Tkinter vs PyQt
- 8. Modification des attributs du document dans xml.dom.minidom de Python
- 9. Modification du bouton AcceptButton en fonction du contrôle actif
- 10. Mise à jour des étiquettes tkinter en python
- 11. validation de la saisie de texte Python Tkinter
- 12. Python Modification des variables du module dans un autre module
- 13. comment puis-je obtenir l'argument de commande du bouton?
- 14. Modification du délégué d'événement onclick d'un bouton HTML?
- 15. Modification des attributs de bouton en C#
- 16. Ajout de l'aperçu forcé au noeud et modification de la valeur du bouton d'envoi dans Drupal?
- 17. Tkinter: appel d'événement dans la boucle principale
- 18. Commande de commande get du port série
- 19. J'ai besoin d'aide avec le traitement des événements de curseur en python + Tkinter
- 20. Modification du répertoire cible d'une commande de préconfiguration dans VS 2005
- 21. .Bouton du bouton winform?
- 22. classmethod pour Tkinter-Monitor-Window
- 23. Modification du comportement de TStringStream.ReadString dans D2009?
- 24. Historique de ligne de commande Python persistant
- 25. Modification des fenêtres d'interpréteur python
- 26. Modification de l'article dans le foreach à travers la méthode
- 27. Modification du curseur de "point d'insertion" dans WPF
- 28. Comment changer la couleur de premier plan ou d'arrière-plan d'un bouton Tkinter sur Mac OS X?
- 29. Taille de l'icône du bouton dans Flex
- 30. Modification du nom de viewstate
L'option de config de commande est ce qui est généralement utilisé pour les appuis sur les boutons. La fonction de rappel n'a pas besoin d'un argument d'événement. – tzot
L'utilisation d'une liaison n'est pas une solution particulièrement bonne IMO. C'est exactement ce à quoi sert l'option -command. De plus, en faisant cela dans une liaison, vous perdez la possibilité d'appeler le rappel via la traversée du clavier, sauf si vous ajoutez également des raccourcis clavier. Il devient assez salissant assez rapidement, alors restez avec -command. –