In message <[email protected]>, Olaf Dietrich wrote:
> If I replace update() by update_idletasks(), the problem
> disappears, but unfortunately, considerably fewer events
> are recorded on the canvas (when connecting the pixels with
> lines, the lines become much longer with update_idletasks()
> than with update()). If I remove both update() and
> update_idletasks(), things work similarly as with
> update_idletasks() (the display is only marginally slower
> than with update_idletasks()).
How about simply avoiding recursive updates.
Add this line to your __init__ method:
self.reentered = False
In your viewdata method, put this at the start:
save_reentered = self.reentered
self.reentered = True
and this at the end:
self.reentered = save_reentered
while the update call becomes conditional on not being reentered:
if not save_reentered:
self.root.update()
Of course, this is all a total guess, I really know nothing about TKinter.
:)
--
http://mail.python.org/mailman/listinfo/python-list