Skip to Content
Python GUI Programming with Tkinter
book

Python GUI Programming with Tkinter

by Alan D. Moore
May 2018
Beginner to intermediate content levelBeginner to intermediate
452 pages
11h 26m
English
Packt Publishing
Content preview from Python GUI Programming with Tkinter

Using queues to communicate between threads

Before editing our application code, let's create a simpler example application to make sure we understand how to use Queue to communicate between threads.

Start with a long-running thread:

from threading import Thread
from time import sleep

class Backend(Thread):

    def __init__(self, queue, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.queue = queue

    def run(self):
        self.queue.put('ready')
        for n in range(1, 5):
            self.queue.put(f'stage {n}')
            print(f'stage {n}')
            sleep(2)
        self.queue.put('done')

The Backend object is a subclass of Thread that takes a Queue object as an argument and saves it as an instance property. Its run method simulates a long-running four-phase process using print() and ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Python GUI Programming with Tkinter - Second Edition

Python GUI Programming with Tkinter - Second Edition

Alan D. Moore

Publisher Resources

ISBN: 9781788835886Supplemental Content