為什麼我的Tkinter 小部件儲存為None
在這種情況下,您遇到了Tkinter 小部件儲存為None 的問題在一個數組中。當您呼叫小部件時,它們不可用。
了解問題
Tkinter grid、pack 和 place 方法是就地操作,並且總是傳回 None。因此,嘗試在創建小部件的同一行呼叫這些方法將導致 None 被指派給小部件變數。
解決方案
要解決此問題,請拆分小部件創建和方法調用分為單獨的行:
<code class="python"># Create the widget button = Button(...) # Call the grid method button.grid(...) # Pack method button.pack(...) # Place method button.place(...)</code>
應用到您的程式碼
在您的程式碼中,修改小部件建立和方法調用,如下所示:
<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>
現在,當您與GUI 交互時,您的小部件將可以存取並正確回應。
以上是為什麼我的 Tkinter 小工具儲存為 None?的詳細內容。更多資訊請關注PHP中文網其他相關文章!