擅长:python、mysql、java
<p>问题的根源是你正在进行全局导入。因此,框架小部件作为<code>Frame</code>导入。在</p>
<p>当你做<code>for Frame in frames</code>时,你是在用一个名为<code>Frame</code>的局部变量覆盖Frame类,因为你不能有两个同名的东西。在</p>
<p>由于python的设计方式,它可以识别出在该函数中的任何代码运行之前正在创建一个名为“Frame”的局部变量。所以,当你这么做的时候:</p>
<pre><code>frames.append(Frame(self.window,borderwidth=2,padx=10,pady=10))
</code></pre>
<p>。。。<code>Frame</code>类不再存在,因为它已被局部变量替换。因为你还没有给局部变量“Frame”赋值,你得到了你所做的错误。在</p>
<p>解决方法很简单:不要创建名为“Frame”的局部变量,和/或不进行全局导入。在</p>