A frame represents a rectangular region of a window, typically used in complex layouts to contain other widgets. Since they have their own padding, border, and background, you can remark that the group of widgets is related logically.
Another common pattern for frames is to encapsulate part of the application's functionality so that you can create an abstraction that hides the implementation details of child widgets.
We will see an example that covers both scenarios by creating a component that inherits from the Frame class and exposes certain information on the containing widgets.