Handling queue messages

Back in the Application object, we need to create a method that will poll the queue and handle any messages sent from the upload thread.

Let's call it check_queue():

    def check_queue(self, queue):
        if not queue.empty():
            item = queue.get()

The method starts by checking to see whether the queue has any items, and if so it retrieves one. Once we have one, we need to examine it and determine what to do with it based on the status value.

First, let's handle a done status:

            if item.status == 'done':
                messagebox.showinfo(
                    item.status,
                    message=item.subject,
                    detail=item.body
                )
                self.status.set(item.subject)
                return

When our upload finishes successfully, we want to show a message box and set the status, then return without doing ...

Get Python GUI Programming with Tkinter now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.