Version 17 of grid

Updated 2007-12-11 09:18:24 by suchenwi

Grid is one of several Geometry Managers. Some others are pack and place.

http://www.tcl.tk/man/tcl8.4/TkCmd/grid.htm

The Book Practical Programming in Tcl and Tk, Fourth Edition contains an excellent introduction to the grid command, which is available online at [L1 ].

Grid is excellent for many kinds of common GUI forms because it arranges widgets in nice rows and columns, and handles resizing quite nicely.


DKF - The term Grid also refers to the very high end of resource sharing systems over the internet which it is likely that people will be hearing a lot more about in the future, especially in phrases like Grid Services...

TclGlobus is a project to allow Grid interfaces in Tcl: http://tclglobus.ligo.caltech.edu/


grid slave ?slave ...? ?options?

grid bbox master ?column row? ?column2 row2?

grid columnconfigure master index ?-option value...?

grid configure slave ?slave ...? ?options?

grid forget slave ?slave ...?

grid info slave

grid location master x y

grid propagate master ?boolean?

grid remove slave ?slave ...?

grid rowconfigure master index ?-option value...?

grid size master

grid slaves master ?-option value?

If the first argument to grid is suitable as the first slave argument to grid configure, either a window name (i.e. a value starting with .) or one of the characters x or ^ (see the "RELATIVE PLACEMENT" section below), then the command is processed in the same way as grid configure.


A simple example is a panel with just a few labels and entries.

    package require Tk

    foreach field {Name Address City State Phone} {
        #  Create a couple of widgets
        set l [label .lab$field -text $field]
        set e [entry .ent$field -justify right ]
        #  Assign both to a row in the grid
        grid $l $e -padx 4 -pady 4
        #  Then adjust how they appear
        grid $l -sticky e
        grid $e -sticky ew
    }

    # X-resize is done by the entry column
    grid columnconfigure . 1 -weight 1

    #  Y-resize should be at the bottom...
    set lastrow [lindex [grid size .] 1]
    grid rowconfigure . $lastrow -weight 1

For a little more complex example, see A little spreadsheet.

See also: simplified grid


Category Command - Tk syntax help - Arts and Crafts of Tcl-Tk Programming - Category GUI