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 mon widget d'entrée Tkinter renvoie-t-il une erreur « NoneType » lors de l'utilisation de « .get() » ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-26 00:14:13592parcourir

Why Does My Tkinter Entry Widget Return a `NoneType` Error When Using `.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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn