我有一个GUI,任何时候当用户按下按钮我的应用程序必须清除所有画布并在其上绘制相同的矩形,它只是第一次工作。 问题是:当用户第一次按下按钮时,我得到错误信息:
File "C:\Python27\lib\lib-tk\Tkinter.py", line 2272, in create_rectangle
return self._create('rectangle', args, kw)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 2251, in _create
*(args + self._options(cnf, kw))))
_tkinter.TclError: invalid command name ".61758520.61888032"
这就是我创建窗口以绘制rects的方式:
rootWindow = Tkinter.Tk()
rootFrame = Tkinter.Frame(rootWindow, width=1000, height=1000, bg="white")
rootFrame.pack()
canvas = Tkinter.Canvas(rootFrame, width=1000, height=1000, bg="white")
canvas.pack()
这是在画布上绘制矩形的函数:
def draw(self, **kwargs):
id = Rectangle.draw(self, **kwargs)
canvas.addtag_withtag(self.name, id)
p = self.center()
tags = kwargs.get('tags', [])
tags.append('text')
tags.append(self.name)
canvas.create_text(p.x, p.y, text=self.name, font="Consolas 7 bold", tags=tags)