ttk.Bouton retourne Aucun
Question
Je suis en train d'utiliser la méthode invoke de ttk.Bouton, comme indiqué à TkDocs (regardez "La Commande De Rappel"), mais j'obtiens cette erreur:
AttributeError:'NoneType' object n'a pas d'attribut 'appeler'
Donc, j'ai essayé ceci dans le Shell Interactif:
ActivePython 3.1.1.2 (ActiveState Software Inc.) based on
Python 3.1.1 (r311:74480, Aug 17 2009, 12:30:13) [MSC v.1500 32 bit (Intel)] on
win32
>>> from tkinter import *
>>> import tkinter.ttk as ttk
>>> root = Tk()
>>> button = ttk.Button(root, text="Test").grid(row=0, column=0)
>>> print(button)
None
Ce qui montre que ttk.Bouton renvoie None.
Est ttk.Bouton destiné à retour Aucun.Et, si oui, pourquoi ne TkDocs dire qu'il y a une méthode invoke?
La solution
Non, vous êtes tout à fait tort:votre code ne pas montrer que ttk.Button
retourne None
-- il montre que l' grid
méthode sur le bouton de l'objet renvoie None
!Ne voyez-vous pas que vous êtes d'appel .grid
sur ce qu'il est que ttk.Button
retourne (le bouton de l'objet), et c'est le résultat de cette grille appel que vous attribuez à "bouton"?!
Afin de faire droit à la place...:
button = ttk.Button(root, text="Test")
button.grid(row=0, column=0)
maintenant, vous pouvez print button
et bien sûr, les résultats seront très différents!-)