multithreading and Tkinter
claird at starbase.neosoft.com
Fri Mar 22 15:41:14 CET 2002
In article <mailman.1016728725.9585.python-list at python.org>,
Laura Creighton <lac at strakt.com> wrote:
>> How do I signal the GUI thread that new information for a particular
>> object has arrived? Currently I'm using after() method of the Tkinter
>> object to update info for *all* objects every second, but that is
>> hardly a good design, since there may be 500 of them, and the new info
>> can be arriving once every 15 minutes.
>> Any ideas and/or pointers to the documentation (preferably online)
>> highly appreciated.
>You want to use Queue.Queue() to make yourself a nice incoming
>queue, and fill it with the data that arrived and the object(s) that
>care(s) about it. You'll still use after, but you will only update
>the objects that care, and only when something has arrived. See
Excellent advice from both Laura and Aahz.
There's been very casual chatter among Tk insiders about
(in Tkinter-speak) making update a method of individual
widgets. It definitely doesn't exist now, it appears to
require guru-level concentration, and we're still not
sure it's even feasible in some appropriate sense;
however, I think it's worth alerting readers of this
thread that there's a possibility of an interesting
enhancement in the indefinite future.
Cameron Laird <Cameron at Lairds.com>
More information about the Python-list