ttk::panedwindow(3tk)

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

✨ ttk::panedwindow β€” the multi-pane container that ATE ✨

okay bestie, sit down, hydrate, because we're talking about ttk::panedwindow from the Tk Themed Widget family, and it's genuinely one of the most underrated glow-ups in the whole toolkit. πŸ’…


🌸 NAME 🌸

ttk::panedwindow β€” a multi-pane container window. it's giving "I hold your other widgets and I do it with style". 🫢


πŸŽ€ SYNOPSIS πŸŽ€

ttk::panedwindow pathname ?options?
pathname add window ?options...?
pathname insert index window ?options...?

πŸ¦‹ DESCRIPTION πŸ¦‹

A ttk::panedwindow widget displays a bunch of subwindows, stacked either vertically or horizontally. and here's the iconic part: the user can adjust the relative sizes of those subwindows by dragging the sash between panes. no cap, that's the whole personality. πŸ”₯


⭐ STANDARD OPTIONS ⭐

  • -class
  • -cursor
  • -takefocus
  • -style
these are the standard ones, bestie. for the full tea on them, go read the ttk_widget manual entry. πŸ“–

πŸ’– WIDGET-SPECIFIC OPTIONS πŸ’–

okay these ones are hers. hers specifically.

  • -orient β€” Command-Line Name: -orient; Database Name: orient; Database Class: Orient. Specifies the orientation of the window. If vertical, subpanes are stacked top-to-bottom. If horizontal, subpanes are stacked left-to-right. pick your vibe. 🌈
  • -width β€” Command-Line Name: -width; Database Name: width; Database Class: Width. If present and greater than zero, specifies the desired width of the widget in pixels. Otherwise, the requested width is determined by the width of the managed windows. so basically she'll size herself off her children if you don't speak up. 😌
  • -height β€” Command-Line Name: -height; Database Name: height; Database Class: Height. If present and greater than zero, specifies the desired height of the widget in pixels. Otherwise, the requested height is determined by the height of the managed windows. same energy, different axis. ✨

🧚 PANE OPTIONS 🧚

these ones you can specify for each pane:

  • -weight β€” Command-Line Name: -weight; Database Name: weight; Database Class: Weight. An integer specifying the relative stretchability of the pane. When the paned window is resized, the extra space is added or subtracted to each pane proportionally to its -weight. so yeah, this is the "who gets more room when things get bigger" dial. βš–οΈ

πŸ‘‘ WIDGET COMMAND πŸ‘‘

In addition to the standard cget, configure, instate, state and style commands (peep ttk::widget for those), panedwindow widgets support the following additional commands. main character subcommand energy only. πŸ’«

  • pathname add subwindow options... Adds a new pane to the window. See PANE OPTIONS for the list of available options.
  • pathname forget pane Removes the specified subpane from the widget. pane is either an integer index or the name of a managed subwindow. bye bestie, it's not you it's the layout. 😭
  • pathname identify component x y Returns the name of the element under the point given by x and y, or the empty string if no component is present at that location. If component is omitted, it defaults to sash. The following subcommands are supported:
    • pathname identify element x y β€” Returns the name of the element at the specified location.
    • pathname identify sash x y β€” Returns the index of the sash at the specified location.
  • pathname insert pos subwindow options... Inserts a pane at the specified position. pos is either the string end, an integer index, or the name of a managed subwindow. If subwindow is already managed by the paned window, moves it to the specified position. See PANE OPTIONS for the list of available options.
  • pathname pane pane -option ?value ?-option value... Query or modify the options of the specified pane, where pane is either an integer index or the name of a managed subwindow. If no -option is specified, returns a dictionary of the pane option values. If one -option is specified, returns the value of that option. Otherwise, sets the -options to the corresponding values. one command, three moods, we love a versatile icon. πŸ’…
  • pathname panes Returns the list of all windows managed by the widget, in the index order of their associated panes.
  • pathname sashpos index ?newpos? If newpos is specified, sets the position of sash number index. May adjust the positions of adjacent sashes to ensure that positions are monotonically increasing. Sash positions are further constrained to be between 0 and the total size of the widget. Returns the new position of sash number index. ✨

πŸ”₯ VIRTUAL EVENTS πŸ”₯

The panedwindow widget generates an <<EnteredChild>> virtual event on LeaveNotify/NotifyInferior events. yes, it's watching, but like, in a helpful way. πŸ‘€


πŸŽ€ STYLING OPTIONS πŸŽ€

The class name for a ttk::panedwindow is TPanedwindow. The sash has a class name of Sash.

TPanedwindow styling options configurable with ttk::style are:

  • -background color

Sash styling options configurable with ttk::style are:

  • -background color
  • -bordercolor color
  • -gripsize size (number of screen units)
  • -handlepad amount
  • -handlesize amount
  • -lightcolor color
  • -sashpad amount
  • -sashrelief relief
  • -sashthickness amount
some options are only available for specific themes, so don't come for me if your theme's not serving all of these. πŸ’€

See the ttk::style manual page for information on how to configure ttk styles. πŸ“–


🌈 SEE ALSO 🌈

ttk::widget(3tk), ttk::notebook(3tk), panedwindow(3tk)


okay that's the whole page, bestie, you're fully caught up. this was the Tk 8.5 era documentation, dated the Tk 8.5 way, and if you made it this far you deserve a little treat. go drag a sash, you've earned it. πŸ“βœ¨πŸ’–

πŸ“¦ where this page comes from