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 ...
|212||Tcl/Tk (wish) Grid layout example|
"You can acheive in 20 lines of Tcl/Tk something that would take twice that using another GUI system." That claim might be a bit aggressive, but here is a tiny Tcl/Tk example to lay out a numeric data entry pad, allow it to stretch, and also provide an example of upvar (always worth providing an example ...
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 grid geometry manager.
Sizing and filling cells.
Managing rows and columns.
Cells that span several rows or columns.
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.