Python: Tkinter: Pourquoi est-il de la racine.mainloop() et pas d'application.mainloop()

Je suis un nouveau membre à un Débordement de Pile.
J'ai trouvé ce fil de discussion, mais n'a pas été autorisé à faire des commentaires ou poser des questions sur elle, donc je pensais que je venais de référence ici: Comment puis-je faire un dans la liste interactive en Python Tkinter, complète avec des boutons qui peuvent modifier ces annonces?

from tkinter import *
import os
import easygui as eg

class App:

    def __init__(self, master):
        frame = Frame(master)
        frame.pack()

        # character box
        Label(frame, text = "Characters Editor").grid(row = 0, column = 0, rowspan = 1, columnspan = 2)
        charbox = Listbox(frame)
        for chars in []:
            charbox.insert(END, chars)
        charbox.grid(row = 1, column = 0, rowspan = 5)
        charadd = Button(frame, text = "   Add   ", command = self.addchar).grid(row = 1, column = 1)
        charremove = Button(frame, text = "Remove", command = self.removechar).grid(row = 2, column = 1)
        charedit = Button(frame, text = "    Edit    ", command = self.editchar).grid(row = 3, column = 1)

    def addchar(self):
        print("not implemented yet")
    def removechar(self):
        print("not implemented yet")
    def editchar(self):
        print("not implemented yet")


root = Tk()
root.wm_title("IA Development Kit")
app = App(root)
root.mainloop()

Quelqu'un pourrait m'expliquer pourquoi la dernière ligne est la racine.mainloop()?
Étant un novice en Python, et venant du fond que de procédure orientée sans objet-orient expérience, j'aurais pensé qu'il aurait été d'application.mainloop().

En fait app = App(racine) , l'app est jamais utilisé dans le reste du code! Je vais avoir du mal à comprendre pourquoi la racine.mainloop() fonctionne toujours.

  • Ainsi, lorsque vous initialisez votre App classe avec root, le __init__ fonction est exécutée, dans lequel tous les composants d'interface graphique sont chargés. mainloop est une méthode de Tk qui commence la boucle d'événements de la fenêtre. Nous n'avons donc pas besoin de re-référence de l' class (même si, techniquement, nous n'avons, à l'intérieur de la class lui-même) parce que tout ce dont nous avons besoin se fait que lorsque nous initialisons que class.
InformationsquelleAutor Nuuk | 2014-03-27