labelframe(3tk)

πŸ“¦
version 9.0.4 Β· 2 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– labelframe β€” the Tk Built-In Commands glow-up πŸ’–

okay bestie, so this is the manual page for labelframe(3tk), from the Tk Built-In Commands crew. yes it's a whole manpage. yes we're making it cute. no we are NOT skipping a single flag. let's go πŸŽ€


✨ NAME ✨

labelframe β€” Create and manipulate labelframe labelled container widgets πŸ’…


🌸 SYNOPSIS 🌸

labelframe pathName ?options?

that's it. that's the whole vibe. pathName plus optionally some options. slay.


⭐ STANDARD OPTIONS ⭐

these are the standard ones, no cap:

  • -borderwidth
  • -cursor
  • -font
  • -foreground
  • -highlightbackground
  • -highlightcolor
  • -highlightthickness
  • -padx
  • -pady
  • -relief
  • -takefocus
  • -text
See the options manual entry for details on the standard options. (that's the homework bestie, it's assigned, not optional πŸ“š)

πŸ¦‹ WIDGET-SPECIFIC OPTIONS πŸ¦‹

these ones are special to labelframe and honestly they're the main characters:

  • -background
    • Database Name: background
    • Database Class: Background

This option is the same as the standard -background option except that its value may also be specified as an empty string. In this case, the widget will display no background or border, and no colors will be consumed from its colormap for its background and border. literally ghost mode. invisible. ethereal. ✨

  • -class
    • Database Name: class
    • Database Class: Class

Specifies a class for the window. This class will be used when querying the option database for the window's other options, and it will also be used later for other purposes such as bindings. The -class option may not be changed with the configure widget command. so like… pick wisely, it's giving permanent 🚫

  • -colormap
    • Database Name: colormap
    • Database Class: Colormap

Specifies a colormap to use for the window. The value may be either new, in which case a new colormap is created for the window and its children, or the name of another window (which must be on the same screen and have the same visual as pathName), in which case the new window will use the colormap from the specified window. If the -colormap option is not specified, the new window uses the same colormap as its parent. This option may not be changed with the configure widget command. again: locked in forever πŸ”’

  • -height
    • Database Name: height
    • Database Class: Height

Specifies the desired height for the window in any of the forms acceptable to Tk_GetPixels. If this option is negative or zero then the window will not request any size at all. zero height? no requests? it's giving minimalism πŸ™ˆ

  • -labelanchor
    • Database Name: labelAnchor
    • Database Class: LabelAnchor

Specifies where to place the label. A label is only displayed if the -text option is not the empty string. Valid values for this option are (listing them clockwise) nw, n, ne, en, e, es, se, s, sw, ws, w and wn. The default value is nw. clockwise tour of the label placement universe, we love a systematic queen πŸ‘‘

  • -labelwidget
    • Database Name: labelWidget
    • Database Class: LabelWidget

Specifies a widget to use as label. This overrides any -text option. The widget must exist before being used as -labelwidget and if it is not a descendant of this window, it will be raised above it in the stacking order. ok so: it has to already exist (no inventing it on the spot bestie) and if it's not your child it gets bumped to the top of the stack. main character energy, literally πŸ“ˆ

  • -visual
    • Database Name: visual
    • Database Class: Visual

Specifies visual information for the new window in any of the forms accepted by Tk_GetVisual. If this option is not specified, the new window will use the same visual as its parent. The -visual option may not be modified with the configure widget command. third one that's permanent. iconic consistency πŸ’€

  • -width
    • Database Name: width
    • Database Class: Width

Specifies the desired width for the window in any of the forms acceptable to Tk_GetPixels. If this option is negative or zero then the window will not request any size at all. same energy as -height, matching set πŸŽ€


πŸ’œ DESCRIPTION πŸ’œ

The labelframe command creates a new window (given by the pathName argument) and makes it into a labelframe widget. Additional options, described above, may be specified on the command line or in the option database to configure aspects of the labelframe such as its background color and relief. The labelframe command returns the path name of the new window. it hands you back the name like "here bestie, this is yours now" 🫢

A labelframe is a simple widget. Its primary purpose is to act as a spacer or container for complex window layouts. It has the features of a frame plus the ability to display a label. it's a frame that learned one new trick and honestly? it ate πŸ”₯


🌈 WIDGET COMMAND 🌈

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

pathName option ?arg ...?

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

  • pathName cget option β€” Returns the current value of the configuration option given by option. Option may have any of the values accepted by the labelframe command.
  • 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 labelframe command.

🧚 BINDINGS 🧚

When a new labelframe is created, it has no default event bindings: labelframes are not intended to be interactive. it doesn't want to be clicked. it doesn't want to be touched. it is simply here to hold things. respect its boundaries πŸ’…


πŸ“ EXAMPLE πŸ“

This shows how to build part of a GUI for a hamburger vendor. The labelframe widgets are used to organize the available choices by the kinds of things that the choices are being made over. burger GUI. BURGER. GUI. i'm obsessed πŸ”

grid [labelframe .burger -text "Burger"] \
     [labelframe .bun    -text "Bun"] -sticky news
grid [labelframe .cheese -text "Cheese Option"] \
     [labelframe .pickle -text "Pickle Option"] -sticky news
foreach {type name val} {
    burger Beef    beef
    burger Lamb    lamb
    burger Vegetarian beans

    bun    Plain   white
    bun    Sesame  seeds
    bun    Wholemeal brown

    cheese None    none
    cheese Cheddar cheddar
    cheese Edam    edam
    cheese Brie    brie
    cheese Gruy\u00e8re gruyere
    cheese "Monterey Jack" jack

    pickle None    none
    pickle Gherkins gherkins
    pickle Onions  onion
    pickle Chili   chili
} {
    set w [radiobutton .$type.$val -text $name -anchor w \
            -variable $type -value $val]
    pack $w -side top -fill x
}
set burger beef
set bun    white
set cheese none
set pickle none

the Gruy\u00e8re escape is doing the most and honestly, valid. the accents are giving πŸ§€βœ¨


πŸ”₯ SEE ALSO πŸ”₯

frame(3tk), label(3tk), ttk::labelframe(3tk)


πŸ‘‘ KEYWORDS πŸ‘‘

labelframe, widget


and that's the whole page bestie!! this one's from Tk 8.4, and it's the labelframe(3tk) page, dated right there at the bottom of the original. now go build a container. go be a container. go hold things for other widgets. periodt πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from