擅长:python、mysql、java
<p>你的代码有两个主要问题。它需要被重组,而你在布局你的小部件时犯了一个非常常见的错误。你知道吗</p>
<h2>组织代码</h2>
<p>按照代码的结构,对<code>configure</code>的调用发生在<code>mainloop</code>退出之后,以及小部件被销毁之后。您需要重新组织代码,以便对<code>mainloop</code>的调用是执行的最后一行代码。你知道吗</p>
<p>在我看来,这最好是通过使用类和对象来实现的,但这并不是绝对必要的。只需在调用<code>mainloop</code>之后不需要任何代码。你知道吗</p>
<h2>布局小部件</h2>
<p>问题是这条线:</p>
<pre><code>chiplabel = Label( root, relief=RIDGE, width = 9 , text ="Unknown", padx=0, pady=0).grid(row = 0,column=5, sticky =W)
</code></pre>
<p>在python中,当您执行<code>x=y().z()</code>时,<code>x</code>被赋予<code>z()</code>的值。所以,当你做<code>chiplabel = Label(...).grid(...)</code>时,<code>chiplabel</code>被赋予<code>grid(...)</code>的值。网格总是返回<code>None</code>,所以<code>chiplabel</code>总是<code>None</code>。因此,您无法重新配置它,因为您丢失了对小部件的引用。你知道吗</p>
<p>解决方案是创建小部件并分两步布置小部件。你知道吗</p>