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!