Je suis un novice en Python. Je suis donc en train de coder une interface graphique, et dans ce cadre, je souhaite spécifier des liaisons pour les widgets d'entrée. Puisque les commandes que je veux que les widgets d'entrée lancent quand un certain événement se produit sont similaires, j'ai pensé que cela économiserait de l'espace et de l'effort si je pouvais définir tous les champs d'entrée pour faire partie d'une classe nommée FIELDS. Ensuite, je pourrais définir une méthode dans le cadre de cette classe qui imprime le résultat de l'application de la fonction get. Le code suivant est:Impossible de définir la classe pour les champs d'entrée dans Tkinter
from tkinter import *
class FIELDS(Entry):
'''
Inherits from Entry class so that methods like pack() can be used
'''
def x(event): #method to print what was typed in the entry field.
print(str(self.get())) #prints the input text
root = Tk()
entry_field = Entry(root)
entry_field = FIELDS()
entry_field.pack()
entry_field.bind('<Return>', FIELDS.x)
root.mainloop
En implémentant ceci, cependant, je reçois une erreur: le nom 'self' n'est pas défini. L'erreur complète est en fait assez longue et je peux la partager si nécessaire (ne pas le faire pour garder la question brève). Dans l'instanciation, j'ai passé entry_field comme self. Pourquoi reçois-je cette erreur et comment puis-je la corriger?