On Fri, May 23, 2008 at 12:26:12PM +0200, Marco wrote:
                        .
                        .
                        .
> and thanks for the answers: how, i avoided the sleep() approach,
> because, as Cameron said i supposed that it freezed the application:
> being in sleep() it stops the mainloop()...
> 
> Now,
> 
> i have used the after() approach, with some satisfactory results,
> only, there is something that still bugs me: if i understand correctly
> after() tells the loop to execute someething after some time (in
> milliseconds). What i'd like to do is something more like every()...
> In fact, i'd like the application to be redrawn every() second (so to
> say), while, if i understand correctly, every time i want to redraw
> the application (for example because in the meantime the log i'm
> monitoring has changed) i have to call after(). In this sense i have
> put an after() at the end of every possible event that the user, while
> working on the interface, could do. But, if nothing happens at the GUI
> level, then nothing is updated.
> 
> I'd prefer to avoid to put a "UPDATE" button on the app, but as of
> now, seems like it's the only way to do it safely.
> 
> I am wrong?
                        .
                        .
                        .
Yes and no.

every() is a common need among Tkinter() programmers,
for all the reasons you describe.  I'm sure several 
of us have written our own version, but, to my 
surprise--astonishment!--I can't put my hands on one
of them in public space just now.

I'm late for a meeting myself; I'll summarize:  
A.  You do NOT need to have after()s all 
    over the widget tree, although I can
    understand the confusion;
B.  All that's necessary is a single
    "free-running" after() *that
    invokes itself*; and
C.  After I get out of my meetings, I'll
    write an example.
_______________________________________________
Tkinter-discuss mailing list
Tkinter-discuss@python.org
http://mail.python.org/mailman/listinfo/tkinter-discuss

Reply via email to