Second try: non-blocking subprocess pipe and Tkinter in 2.7
Peter Otten
__peter__ at web.de
Fri Dec 21 11:33:29 EST 2012
Kevin Walzer wrote:
> Yesterday I posted a question about keeping a Tkinter GUI during a
> long-running process, i.e. reading data from a pipe via the subprocess
> module. I think that question did not quite get at the heart of the
> issue because it assumed that Python, like Tcl which underlies Tkinter,
> supports non-blocking, asynchronous reading out of the box. Apparently
> it does not.
>
> So, my question is hereby revised as such: how can I implement a
> non-blocking read of a subprocess pipe that can write data to the
> Tkinter text widget in an manner that does not cause the GUI to lock up?
You could do blocking reads in a separate thread and use a queue to
communicate with the GUI in the main thread:
http://effbot.org/zone/tkinter-threads.htm
More information about the Python-list
mailing list