Chapter 2. Geometry Management
To
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:
pack
, place
,
grid
, and form
.
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
by calling 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.
With the
exception of 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, ...
Get Mastering Perl/Tk now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.