2013-07-27 159 views
0

我試圖改變一個Tkinter的畫布文本對象的文本工作後。正常的self.canvas.itemconfig(self.land[(0, 0)], text=str(self.ctr))工作,其中self.land是ID的字典,座標是Key。 當我嘗試做出改變等待幾秒鐘和使用,self.root.after(1000, self.canvas.itemconfig, self.land[(0, 0)], text=str(self.ctr))我得到「類型錯誤:()得到了一個意想不到的關鍵字參數‘文本’後,」爲什麼呢?不canvas.itemconfig及文字

回答

1

作爲錯誤消息表示,after方法不接受文本關鍵字參數。

嘗試下面的代碼:

self.root.after(1000, lambda: self.canvas.itemconfig(self.land[(0, 0)], text=str(self.ctr))) 
+0

是啊,謝謝,該訣竅,我只是想知道爲什麼鋸文本作爲本身就是一個變量之後,而不是itemconfig。 – EasilyBaffled

+0

@EasilyBaffled,''後'不會傳遞關鍵字參數回調。參見[文檔後](http://effbot.org/tkinterbook/widget.htm#Tkinter.Widget.after-method)。 – falsetru