Comment gérer un événement de clic de Bouton
Je suis en train d'apprendre Python et j'ai le concept de base vers le bas, et déjà quelques programmes en ligne de commande. Je suis en train d'apprendre comment créer des Interfaces graphiques avec Tkinter.
J'ai créé une interface simple à accepter certaines informations de l'utilisateur à partir d'un Entry
widget, puis, lorsque l'utilisateur clique sur envoyer, il devrait apparaître une boîte de dialogue.
La boîte de dialogue devrait demander l' prénom et nom de famille.
Le problème est que je ne sais pas comment gérer le cas lorsque l'utilisateur clique sur le bouton envoyer.
Voici mon code:
from Tkinter import *
class GUI(Frame):
def __init__(self,master=None):
Frame.__init__(self, master)
self.grid()
self.fnameLabel = Label(master, text="First Name")
self.fnameLabel.grid()
self.fnameEntry = Entry(master)
self.fnameEntry.grid()
self.lnameLabel = Label(master, text="Last Name")
self.lnameLabel.grid()
self.lnameEntry = Entry(master)
self.lnameEntry.grid()
self.submitButton = Button(self.buttonClick, text="Submit")
self.submitButton.grid()
def buttonClick(self, event):
""" handle button click event and output text from entry area"""
pass
if __name__ == "__main__":
guiFrame = GUI()
guiFrame.mainloop()
OriginalL'auteur Orboss | 2011-07-29
Vous devez vous connecter pour publier un commentaire.
Vous avez déjà eu votre fonction d'événement. Modifier votre code pour:
C'est le même que dans @Freak de réponse, sauf pour les
buttonClick()
méthode est maintenant à l'extérieur de la classe__init__
méthode. L'avantage est que de cette façon, vous pouvez appeler l'action de la programmation. C'est la façon traditionnelle, en programmation orientée objet-codé de l'interface utilisateur graphique.OriginalL'auteur joaquin
Vous devez spécifier un gestionnaire, ou à une fonction qui est appelée lorsque vous cliquez sur le Bouton. Vous pouvez faire ce que mon attribuant le nom (pas à l'appel de la fonction) de la fonction à la propriété
command
de votre Bouton.Par exemple:
Note l'absence de
()
lors de l'attributionbuttonClick
comme lecommand
propriété deself.submitButton
.Notez que vous n'avez pas besoin de la deuxième paramètre appelé
event
dans votre gestionnaire de la fonction/buttonClick()
.OriginalL'auteur Wolfger
J'ai trouvé une très bonne référence,
de la Pensée dans Tkinter
, et j'ai massacré un peu. J'ai essayé de l'adapter pour ce que tu voulais.OriginalL'auteur Freak