Y que hay de las clases?

Los que estuvieron viendo otros tutoriales antes que este, habran notado el uso de clases para crear las interfaces. Esta convencion es la mas recomendada por muchos motivos

Veamos un ejemplo introductorio a esta idea y analicemosla:

Ejemplo minimo de tk usando class
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
from six.moves import tkinter as tk

class UI(tk.Frame):
    """Docstring."""

    def __init__(self, parent=None):
        tk.Frame.__init__(self, parent)
        self.parent = parent
        self.init_ui()

    def init_ui(self):
        """Aqui colocariamos los widgets."""
        self.parent.title("Un titulo para la ventana")

if __name__ == "__main__":
    ROOT = tk.Tk()
    ROOT.geometry("800x600")
    APP = UI(parent=ROOT)
    APP.mainloop()
    ROOT.destroy()

En la linea 15 le estamos diciendo a Python que cuando el usuario ejecute nuestro archivo cree un objeto tkinter, en el vemos un codigo muy similar al conocido