擅长:python、mysql、java
<p>发生了很多事情。你知道吗</p>
<p>你不应该这样嵌套函数。如果您试图封装数据/结构,那么只需使用一个类。你似乎想用一种方法来命名<code>Tk()</code>self,然后到处叫self。这实际上只是将一系列属性设置为Tk。你知道吗</p>
<p>您正在创建<code>Tk()</code>的多个实例。如果您想要新窗口,那么使用<code>Toplevel()</code>小部件。否则,只需使用<code>pack_forget</code>/<code>grid_forget</code>基本上隐藏所需的框架/小部件,并使用pack/grid“取消隐藏”其他框架/小部件来替换网格上的框架/小部件。你知道吗</p>
<p>不需要运行多个Tk()实例。你知道吗</p>
<p>你从不打电话给<code>mainloop</code>。你知道吗</p>
<p>您正在调用<code>global</code>变量,这是不必要的,您可以重新构造。如果您使用的是globals9/10,那么就有一个<a href="https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem">XY problem</a>。一开始它们甚至都不是全球性的。它们是嵌套的函数的局部函数。
如果你真的想要这个结构,你可以使用<code>nonlocal</code>。同样,如果你想要一个这样的结构,只需要使用一个类并把它们作为属性。你知道吗</p>
<p>无需在所有按钮上使用<code>bind</code>,只需单击调用函数即可。这就是<code>command</code>参数的作用。你知道吗</p>