Frage

Ich versuche, die Methode invoke einen ttk.Button zu verwenden, wie gezeigt bei TkDocs (Blick auf "The Befehl Rückruf" ), aber ich erhalte diesen Fehler:

  

Attribute: 'NoneType' Objekt hat kein Attribut 'Funktion'

So habe ich versucht, dies in der interaktiven Shell:

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

, die zeigt, dass ttk.Button None zurückgibt.

Is ttk.Button gemeint Keine zurückzukehren. Und wenn ja, warum TkDocs sagen, dass es eine Methode invoke?

War es hilfreich?

Lösung

Nein, du bist völlig falsch: Ihr Code tut nicht zeigen, dass ttk.Button kehrt None - es zeigt, dass die grid Methode auf die Schaltfläche Objekt zurückkehrt None! Sehen Sie nicht, dass Sie anrufen .grid auf, was auch immer es ist, dass ttk.Button zurückkehrt (die Schaltfläche Objekt), und es ist das Ergebnis der grid Anruf, dass Sie auf „Button“ sind zuweisen ?!

tut es also rechts statt ...:

button = ttk.Button(root, text="Test")
button.grid(row=0, column=0)

Jetzt können Sie print button und natürlich die Ergebnisse sehr unterschiedlich sein! -)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top