On 07/17/2013 09:18 AM, fronag...@gmail.com wrote:
On Wednesday, July 17, 2013 7:42:45 PM UTC+8, Dave Angel wrote:
On 07/17/2013 07:10 AM, fronag...@gmail.com wrote:
On Wednesday, July 17, 2013 6:07:22 PM UTC+8, Dave Angel wrote:
On 07/16/2013 11:04 PM, fronag...@gmail.com wrote:
Noted on the quoting thing.
Regarding the threading, well, first, I'm not so much a programmer as someone
who knows a bit of how to program.
And it seems that the only way to update a tkinter window is to use the
.update() method, which is what I was experimenting with. Start up a new thread
that just loops the .update() with a 1ms sleep until the download is done. It
seems to work, actually.
update() is to be used when it's too awkward to return to mainloop. In
my second approach, you would periodically call it inside the processing
loop. But unless tkinter is unique among GUI's, it's unsafe to do that
in any thread besides the GUI thread.
DaveA
Yes, based on advice from this thread, I'm doing that. From my main thread, I
create a thread that handles the download while updating a variable that the
mainloop displays as a text output, and in that mainloop, I have a while loop
that updates the GUI until the downloading is done.
I can't figure out what you're really doing, since each message from you
says something different. You don't need a separate while loop, since
that's exactly what app.mainloop() is.
--
DaveA
Hm. My apologies for not being very clear. What I'm doing is this:
self.loader_thread = Thread(target=self.loadpages,
name="loader_thread")
self.loader_thread.start()
while self.loader_thread.isAlive():
self.root_window.update()
sleep(0.05)
Where loadpages is a function defined elsewhere.
Presumably this fragment is from a method of some class you've written.
Is it an event handler, or is this happening before you finish setting
up the GUI? Somewhere at top-level, you're supposed to fall into a call
to mainloop(), which doesn't return till the user cancels the app.
--
DaveA
--
http://mail.python.org/mailman/listinfo/python-list