Heim  >  Artikel  >  Backend-Entwicklung  >  Warum werden meine Tkinter-Widgets als „Keine“ gespeichert?

Warum werden meine Tkinter-Widgets als „Keine“ gespeichert?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-26 03:20:27155Durchsuche

 Why are my Tkinter Widgets Stored as None?

Warum meine Tkinter-Widgets als „Keine“ gespeichert werden

In diesem Fall stoßen Sie auf ein Problem, bei dem Ihre Tkinter-Widgets als „Keine“ gespeichert werden in einem Array. Wenn Sie die Widgets aufrufen, sind sie nicht verfügbar.

Verstehen des Problems

Tkinter-Grid-, Pack- und Place-Methoden sind In-Place-Vorgänge und geben immer None zurück. Daher führt der Versuch, diese Methoden in derselben Zeile wie die Widget-Erstellung aufzurufen, dazu, dass der Widget-Variablen „Keine“ zugewiesen wird.

Lösung

Um dieses Problem zu beheben, teilen Sie die Widget-Erstellung und den Methodenaufruf in separaten Zeilen:

<code class="python"># Create the widget
button = Button(...)

# Call the grid method
button.grid(...)

# Pack method
button.pack(...)

# Place method
button.place(...)</code>

Anwenden auf Ihren Code

Ändern Sie in Ihrem Code die Widget-Erstellung und den Methodenaufruf wie folgt:

<code class="python">b[c + (r * 10)] = Button(f, text=chr(97 + c + (r * 10)), command=lambda a=c + (r * 10): color(a), borderwidth=1, width=5, bg="white")
b[c + (r * 10)].grid(row=r, column=c)</code>

Jetzt sind Ihre Widgets zugänglich und reagieren korrekt, wenn Sie mit der GUI interagieren.

Das obige ist der detaillierte Inhalt vonWarum werden meine Tkinter-Widgets als „Keine“ gespeichert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn