Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!news-out.readnews.com!transit3.readnews.com!panix!not-for-mail From: Grant Edwards Newsgroups: comp.lang.python Subject: Re: Keeping a Tkinter GUI alive during a long running process Date: Sat, 29 Dec 2012 18:47:39 +0000 (UTC) Organization: PANIX Public Access Internet and UNIX, NYC Lines: 25 Message-ID: References: NNTP-Posting-Host: dsl.comtrol.com X-Trace: reader1.panix.com 1356806859 15412 64.122.56.22 (29 Dec 2012 18:47:39 GMT) X-Complaints-To: abuse@panix.com NNTP-Posting-Date: Sat, 29 Dec 2012 18:47:39 +0000 (UTC) User-Agent: slrn/pre1.0.0-18 (Linux) Xref: csiph.com comp.lang.python:35763 On 2012-12-21, Kevin Walzer wrote: > I maintain a Tkinter application that's a front-end to to a package > manger, and I have never been able to find a way to keep the app from > locking up at some point during the piping in of the package manager's > build output into a text widget. At some point the buffer is overwhelmed > and the app simply can't respond anymore, or writes data to the text > widget after locking up for a period. > > I've long used the typical Tkinter design pattern of opening a pipe to > the external command, and letting it do its thing. However, after a > time, this locks up the app. If I try to throttle the buffer with some > combination of "update" or "after" or "update_idletasks," that keeps the > data flowing, but it comes in too slowly and keeps flowing in long after > the external process has terminated. Isn't there a way in Tkinter to have a file descriptor produce an event whenever it becomes readble? http://stackoverflow.com/questions/3348757/how-to-make-tkinter-repond-events-while-waiting-socket-data -- Grant Edwards grant.b.edwards Yow! ... he dominates the at DECADENT SUBWAY SCENE. gmail.com