首页  >  文章  >  后端开发  >  为什么我的 Tkinter 小部件存储为 None?

为什么我的 Tkinter 小部件存储为 None?

Patricia Arquette
Patricia Arquette原创
2024-10-26 03:20:27155浏览

 Why are my Tkinter Widgets Stored as None?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn