D
Davy
Hi all,
I have used Tkinter after() to do loop update GUI in my previous post.
See http://groups.google.com/group/comp...abc236c345b/7df7684d33c969c5#7df7684d33c969c5
And I tried to change after() to time.sleep(), but it seems doesn't
work at all, the Queue send and receive data properly, but the GUI
didn't even appear?
//-----code changed-----
def draw_canvas_loop(canvas_b):
while (True):
board = data_queue.get(block = True, timeout=2)
print 'get', data_queue.qsize()
draw_canvas(board, canvas_b, x, y, block_width, block_height)
time.sleep(0.3)
##canvas_b.after(300, lambda:draw_canvas_loop(canvas_b))
//--------------------------------
So, can I use time.sleep() in GUI application? Or Tkinter scheduler
just ignore the sleep() function?
And if I use after(), will the code form a recursive function call,
and the memory usage will boost as the program goes (I have watched
the task manager in WinXP and find the python.exe eat more and more
memory...).
//------code-----------
def draw_canvas_loop(canvas_b):
board = data_queue.get(block = True, timeout=1)
print 'get', data_queue.qsize()
draw_canvas(board, canvas_b, x, y, block_width, block_height)
canvas_b.after(300, lambda:draw_canvas_loop(canvas_b))
//-------------------------
Best regards,
Davy
I have used Tkinter after() to do loop update GUI in my previous post.
See http://groups.google.com/group/comp...abc236c345b/7df7684d33c969c5#7df7684d33c969c5
And I tried to change after() to time.sleep(), but it seems doesn't
work at all, the Queue send and receive data properly, but the GUI
didn't even appear?
//-----code changed-----
def draw_canvas_loop(canvas_b):
while (True):
board = data_queue.get(block = True, timeout=2)
print 'get', data_queue.qsize()
draw_canvas(board, canvas_b, x, y, block_width, block_height)
time.sleep(0.3)
##canvas_b.after(300, lambda:draw_canvas_loop(canvas_b))
//--------------------------------
So, can I use time.sleep() in GUI application? Or Tkinter scheduler
just ignore the sleep() function?
And if I use after(), will the code form a recursive function call,
and the memory usage will boost as the program goes (I have watched
the task manager in WinXP and find the python.exe eat more and more
memory...).
//------code-----------
def draw_canvas_loop(canvas_b):
board = data_queue.get(block = True, timeout=1)
print 'get', data_queue.qsize()
draw_canvas(board, canvas_b, x, y, block_width, block_height)
canvas_b.after(300, lambda:draw_canvas_loop(canvas_b))
//-------------------------
Best regards,
Davy