At first glance, the EventBox widget might appear to be totally useless.
The alignment widget allows you to place a widget within its window at a position and size relative to the size of the Alignment widget itself.
The Fixed container allows you to place widgets at a fixed position within it's window, relative to it's upper left hand corner.
The Layout container is similar to the Fixed container except that it implements an infinite (where infinity is less than 2^32) scrolling area.
Frames can be used to enclose one or a group of widgets with a box which can optionally be labelled.
The aspect frame widget is like a frame widget, except that it also enforces the aspect ratio (that is, the ratio of the width to the height) of the child widget to have a certain value, adding extra space if necessary.
The aspect frame widget is like a frame widget, except that it also enforces the aspect ratio (that is, the ratio of the width to the height) of the child widget to have a certain value, adding extra space if necessary.
It is unlikely that you will ever need to use the Viewport widget directly. You are much more likely to use the Scrolled Window widget which itself uses the Viewport.
Scrolled windows are used to create a scrollable area with another widget inside it.
Button Boxes are a convenient way to quickly layout a group of buttons.
Toolbars are usually used to group some number of widgets in order to simplify customization of their look and layout.
The NoteBook Widget is a collection of "pages" that overlap each other, each page contains different information with only one page visible at a time.