Exercises, examples and other material relating to training module T218. This topic is presented on public courses Learning to program in Tcl
, Tcl Programming
A Tk Graphic User Interface comprises a number of component elements known as widgets. Geometry managers allow the programmer to control the layout of the widgets within the windows, and to specify how the layout is to be changed should the widgets be of uneven size or if the window is resized.
|Articles and tips on this subject||updated|
|1470||fill and expand on Tcl/Tk pack command|
pack .this .that -expand true -fill both
Why are there two different options expand and fill? Are they both needed?
expand causes a widget to expand to fill the space available as a window is stretched, and fill causes a widget to be filled to the cell so that it lines up with other widgets.
|1340||Tk locks up - 100% c.p.u. on a simple program (Tcl, Perl, Python)|
Fighting packs and grids - Tk under Tcl, Perl, Python
You'll use pack OR grid to place components into your frame in a Tcl/Tk application. You may use both pack and grid within the same program, but NOT within the same frame. If you do, not only will you be writing code that has no clear meaning, ...
|1335||Expanding a grid - Tcl/Tk|
Have you ever tried to fill or expand a grid in Tcl/Tk to fill the available space left by wider or taller widgets to the die, or when the window expands, and got results like those I have posted here? Disappointing results, aren't they? And I appear to have done all that I should in the source too:
|787||Tk - laying out your GUI with frames, pack and grid|
Using Tk (in Tcl or in Perl), you create a number of components that you want to display as part of your GUI (Graphic User Interface) using commands such as button, label and canvas. These components are known as widgets.
Once you've created your widgets, you need to use a geometry manager to tell ...
In a Tk appllication, you'll define a number of widgets (components) that you want in your GUI - your "Graphic User Interface". That's all very well and good, but you'll also want to arrange them neatly and you'll do this with a geometry manager. of which there are three.
The pack geometry manager ...
Examples from our training material
|numpad|| Laying out a numeric keypad on a grid|
|tk_l2|| Grid geometry manager, showing cell size via colour|
|tk_l3|| Grid geometry manager, expanding cells via -sticky news|
|tk_l4|| Grid geometry manager - column weights to control resize behaviour|
|tk_log|| Grid geometry manager - first example |
|tk_wh2|| Grid geometry manager - cells spanning multiple rows and columns|
|tk_wh3|| An example of the place geometry manager in use|
|tk_which|| Grid geometry manager, using -rowspan and -columnspan |
You may download this module
as a sample of our material
Topics covered in this module
The Pack geometry manager.
The Grid Geometry manager.
Controlling widget placement with place.
If you are looking for a complete course and not just a information on a single subject, visit our Listing and schedule
Well House Consultants specialise in training courses in
. We run
throughout the UK (and beyond for longer courses), and
at our training centre in Melksham, Wiltshire, England.
It's surprisingly cost effective to come on our public courses -
even if you live in a different
country or continent to us
We have a technical library of over 700 books on the subjects on which we teach.
These books are available for reference at our training centre.