I have one thread that writes results into a Queue.
In another thread (GUI), I periodically (in the IDLE event) check if there are results in the queue, like this:
I think the easiest way of getting all items out of the queue is the following:
def get_all_queue_result(queue): result_list = [] while not queue.empty(): result_list.append(queue.get()) return result_list