Almost every nontrivial GUI application is composed of multiple views. In browsers, this is achieved by navigating from one HTML page to another, and in desktop applications, it is represented by multiple windows and dialogs that users can interact with.
So far, we have learned how to create only a root window, which is associated with the Tcl interpreter. However, Tkinter allows us to create multiple top-level windows under the same application, and it also includes specific modules with built-in dialogs.
Another way to structure how to navigate in your application is using menus, which are usually displayed under the title bar in desktop applications. In Tkinter, these menus are represented by a widget class; we will dive later into its methods and how to integrate it with the rest of our application.