[Tkinter-discuss] Persuading after_idle callback to only get called when the window is mapped

Michael Lange klappnase at web.de
Sun Jan 10 12:58:51 CET 2010


Hi Geoff,

On Sat, 9 Jan 2010 23:06:17 +0100
Geoff Bache <geoff.bache at gmail.com> wrote:

> Hi all,
> 
> I'm trying to add an idle callback via the after_idle method, called
> before mainloop. The problem is that I want to interact with the GUI
> widgets
> (doing very basic GUI testing) from this callback so I need the window
> to be mapped by the window manager. But my callback gets called before
> this has happened. If I then just call after_idle again from it the
> window never appears at all.
> 
> Is there a nice way of waiting until there is a window to play with
> before calling it? I can hardcode a delay by calling "after" instead,
> and
> this works but is obviously not ideal.
> 

Have you tried wait_visibility() ?
If this doesn't work for you, maybe you could bind a callback to <Map>
events.

HTH

Michael



More information about the Tkinter-discuss mailing list