Chapter 2. Geometry Management
display widgets on the screen, they must be passed to a
geometry manager. The geometry manager
controls the position and size of the widgets in the display window.
Several geometry managers are available with Perl/Tk:
All the geometry managers are invoked as methods on the widget, but they all have their own methodologies and arguments to change where and how the widgets are put on the screen:
$widget1->pack(); $widget2->place(); $widget3->grid(); $widget4->form( );
When you organize the widgets in
your window, it is often necessary to separate groups of widgets to
get a certain look and feel. For instance, when you use
pack, it is difficult to have widgets stacked both
horizontally and vertically without grouping them in some fashion. We
use a Frame widget or another window (a Toplevel widget) to group
widgets inside a window.
We create our first window
MainWindow. The MainWindow is a special
form of a Toplevel widget. For more detailed information on how to
create/configure Frame and Toplevel widgets, see Chapter 11.
place, differences between the
geometry managers make it difficult (not entirely impossible, but
definitely not recommended) to use more than one geometry manager
within the same area. In
$mw, we can display many types of widgets, but if
we start using
pack, we should continue to use
pack on all the widgets contained directly in
$mw. Don’t switch to
grid in the middle, ...