August 2018
Intermediate to advanced
366 pages
10h 14m
English
The simpledialog.SimpleDialog widget is used to create simple dialogs with some text and buttons. We are going to leverage it to display a progress bar instead of the buttons:
import tkinter
from tkinter import simpledialog
from tkinter import ttk
from queue import Queue
class ProgressDialog(simpledialog.SimpleDialog):
def __init__(self, master, text='', title=None, class_=None):
super().__init__(master=master, text=text, title=title, class_=class_) self.default = None self.cancel = None self._bar = ttk.Progressbar(self.root, orient="horizontal", length=200, mode="determinate") self._bar.pack(expand=True, fill=tkinter.X, side=tkinter.BOTTOM) self.root.attributes("-topmost", True) self._queue = Queue() self.root.after(200, ...