Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #35305

Re: Second try: non-blocking subprocess pipe and Tkinter in 2.7

From Peter Otten <__peter__@web.de>
Subject Re: Second try: non-blocking subprocess pipe and Tkinter in 2.7
Date 2012-12-21 17:33 +0100
Organization None
References <kb20j5$76m$1@dont-email.me>
Newsgroups comp.lang.python
Message-ID <mailman.1159.1356107612.29569.python-list@python.org> (permalink)

Show all headers | View raw


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

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Second try: non-blocking subprocess pipe and Tkinter in 2.7 Kevin Walzer <kw@codebykevin.com> - 2012-12-21 10:52 -0500
  Re: Second try: non-blocking subprocess pipe and Tkinter in 2.7 Peter Otten <__peter__@web.de> - 2012-12-21 17:33 +0100
  Re: Second try: non-blocking subprocess pipe and Tkinter in 2.7 Terry Reedy <tjreedy@udel.edu> - 2012-12-21 22:00 -0500

csiph-web