### 2.12 frame

frame \- Create and manipulate frame widgets

#### Synopsis

frame pathName ?:class className? ?options?

#### Standard Options

    background             cursor             relief
    borderWidth            geometry

See options, for more information.

#### Arguments for Frame

`:height`

  Name=`"height" Class=`"`Height"`

  Specifies the desired height for the window in any of the forms acceptable to Tk_GetPixels. This option is only used if the :geometry option is unspecified. If this option is less than or equal to zero (and :geometry is not specified) then the window will not request any size at all.

`:width`

  Name=`"width" Class=`"`Width"`

  Specifies the desired width for the window in any of the forms acceptable to Tk_GetPixels. This option is only used if the :geometry option is unspecified. If this option is less than or equal to zero (and :geometry is not specified) then the window will not request any size at all.

#### Description

The frame command creates a new window (given by the pathName argument) and makes it into a frame widget. Additional options, described above, may be specified on the command line or in the option database to configure aspects of the frame such as its background color and relief. The frame command returns the path name of the new window.

A frame is a simple widget. Its primary purpose is to act as a spacer or container for complex window layouts. The only features of a frame are its background color and an optional 3-D border to make the frame appear raised or sunken.

In addition to the standard options listed above, a :class option may be specified on the command line. If it is specified, then the new widget’s class will be set to className instead of Frame. Changing the class of a frame widget may be useful in order to use a special class name in database options referring to this widget and its children. Note: :class is handled differently than other command-line options and cannot be specified using the option database (it has to be processed before the other options are even looked up, since the new class name will affect the lookup of the other options). In addition, the :class option may not be queried or changed using the config command described below.

#### A Frame Widget’s Arguments

The frame command creates a new Tcl command whose name is the same as the path name of the frame’s window. This command may be used to invoke various operations on the widget. It has the following general form:

    pathName option ?arg arg ...?

PathName is the name of the command, which is the same as the frame widget’s path name. Option and the args determine the exact behavior of the command. The following commands are possible for frame widgets:

pathName :configure ?option? ?value option value ...?

  Query or modify the configuration options of the widget. If no option is specified, returns a list describing all of the available options for pathName (see Tk_ConfigureInfo for information on the format of this list). If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option:value pairs are specified, then the command modifies the given widget option(s) to have the given value(s); in this case the command returns an empty string. Option may have any of the values accepted by the frame command.

#### Bindings

When a new frame is created, it has no default event bindings: frames are not intended to be interactive.

#### Keywords

frame, widget