Building a login window

Tkinter does not provide us with a ready-made login dialog, but it does provide us with a generic Dialog class which can be subclassed to create custom dialogs.

Import this class from tkinter.simpledialog into our views.py file:

from tkinter.simpledialog import Dialog

Let's start with our class declaration and __init__() method:

class LoginDialog(Dialog):

    def __init__(self, parent, title, error=''):
        self.pw = tk.StringVar()
        self.user = tk.StringVar()
        self.error = tk.StringVar(value=error)
        super().__init__(parent, title=title)

Our class will take a parent as usual, a window title, and an optional error, which will be used in case we need to re-display the dialog with an error message (for example, if the password is ...

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.