<ol>
<li>你需要给<code>self.button1</code>,而<code>declaring</code></li>
<li>若您看到网格,您为button2和button 3指定了相同的列名,以便它们彼此重叠</li>
</ol>
<p>试试这个</p>
<pre><code>import Tkinter
def tester():
class window(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self,parent)
self.parent = parent
self.initialize()
def initialize(self):
print self.grid()
self.button1 = Tkinter.Button(self,text=u"Button")
self.button1.grid(padx=5,pady=5)
self.button2 = Tkinter.Button(self,text=u"Change",command=self.colourer)
self.button2.grid(column=1,row=0,pady=5)
self.button3 = Tkinter.Button(self,text=u"Disabled",state='disabled')
self.button3.grid(column=2,row=0,pady=5)
def colourer(self):
self.button1.configure(bg='red')
# self.button1.config(bg='red') this gives same error
# self.button3.configure(state='normal') as does this
if __name__ == "__main__":
app = window(None)
app.title('Tester')
app.mainloop()
tester()
</code></pre>