Mon problème est que j'ai une classe qui crée un objet topclass Tkinter, puis y met un champ et je veux ajouter un gestionnaire d'événements qui exécute une méthode (qui est également dans la classe) à chaque fois qu'un bouton est pressé, mais lorsque l'événement est appelé ditProblème avec le gestionnaire d'événements Tkinter à l'intérieur d'une classe
AttributeError: Toplevel instance has no attribute 'updateSearch'
class EditStudentWindow():
def __init__(self):
searchResultList = ['student1', 'student2', 'student3'] # test list
##### window attributes
# create window
self = Tkinter.Toplevel()
#window title
self.title('Edit Students')
##### puts stuff into the window
# text
editStudentInfoLabel = Tkinter.Label(self,text='Select the student from the list below or search for one in the search box provided')
editStudentInfoLabel.grid(row=0, column=0)
# entry box
searchRepositoryEntry = Tkinter.Entry(self)
searchRepositoryEntry.grid(row=1, column=0)
# list box
searchResults = Tkinter.Listbox(self)
searchResults.grid(row=2, column=0)
##### event handler
right here
searchRepositoryEntry.bind('<Key>',command = self.updateSearch)
# search results
for result in searchResultList:
searchResults.insert(Tkinter.END, result)
def updateSearch(self, event):
print('foo')
Que pensez-vous 'auto = Tkinter.Toplevel()' fait? – delnan