Maison >développement back-end >Tutoriel Python >Pourquoi mon widget d'entrée Tkinter renvoie-t-il une erreur « NoneType » lors de l'utilisation de « .get() » ?
Pourquoi EntryBox devient-il None lors de la tentative de récupération de sa valeur à l'aide de .get() ?
Lors de la tentative de récupération de la valeur de EntryBox widget utilisant .get(), le message d'erreur « AttributeError : l'objet 'NoneType' n'a pas d'attribut 'get' » est rencontré. Cette erreur se produit car l'objet EntryBox se voit attribuer la valeur None en raison d'une utilisation inappropriée de .grid().
Dans Tkinter, lorsque la disposition d'un widget est spécifiée à l'aide de .grid(), .pack(), ou .place(), le résultat de l'expression est Aucun. Dans ce cas, EntryBox.grid() renvoie None, attribuant effectivement None à la variable EntryBox.
Pour résoudre ce problème, la méthode .grid() doit être utilisée sur une ligne distincte de l'instanciation du widget. . Par exemple :
entryBox = Entry(root, width=60) entryBox.grid(row=2, column=1, sticky=W)
Cela garantit que la variable EntryBox fait référence à l'objet widget, vous permettant de récupérer sa valeur à l'aide de .get() :
print(entryBox.get())
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!