为什么我的 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中文网其他相关文章!