TTkTreeWidget🌶️
- class TTkTreeWidget(*, header: List[TTkString] = [], sortingEnabled: bool = True, selectionMode: SelectionMode = SelectionMode.SingleSelection, dragDropMode: DragDropMode = DragDropMode.NoDragDrop, **kwargs)[source]🌶️
Bases:
TTkAbstractScrollViewThe
TTkTreeWidgetclass is a convenience class that provides a standard tree widget with a classic item-based interface.This class is based on TTk’s Model/View architecture and uses a default model to hold items, each of which is a
TTkTreeWidgetItem.In its simplest form, a tree widget can be constructed in the following way:
import TermTk as ttk root = ttk.TTk() tree = ttk.TTkTree(parent=root,size=(80,24)) tree.setHeaderLabels(["Column 1", "Column 2", "Column 3"]) top = ttk.TTkTreeWidgetItem(["String A", "String B", "String C"]) tree.addTopLevelItem(top) for i in range(5): child = ttk.TTkTreeWidgetItem(["Child A" + str(i), "Child B" + str(i), "Child C" + str(i)]) top.addChild(child) root.mainloop()
Before items can be added to the tree widget, the number of columns must be set with
setHeaderLabels(). This allows each item to have one label.The tree can have a header that contains a section for each column in the widget. It is easiest to set up the labels for each section by supplying a list of strings with
setHeaderLabels().The items in the tree can be sorted by column according to a predefined sort order. If sorting is enabled, the user can sort the items by clicking on a column header. Sorting can be enabled or disabled by calling setSortingEnabled(). The isSortingEnabled() function indicates whether sorting is enabled.
- Parameters:
header (List[
TTkString], optional) – define the header labels of each column, defaults to []sortingEnabled (bool, optional) – enable the column sorting, defaults to False
selectionMode (
TTkK.SelectionMode, optional) – This property controls whether the user can select one or many items, defaults toTTkK.SelectionMode.SingleSelection.dragDropMode (
TTkK.DragDropMode, optional) – This property holds the drag and drop event the view will act upon, defaults toTTkK.DragDropMode.NoDragDrop.
TTkContainer’s inherited init params:- Parameters:
layout (
TermTk.TTkLayouts) – the layout of this widget, optional, defaults toTTkLayoutpadding (
TTkPadding) – the padding (top, bottom, left, right) of the widget, defaults to (0,0,0,0)paddingTop (int) – the Top padding, override Top padding if already defined, optional, default=0 if padding is not defined
paddingBottom (int) – the Bottom padding, override Bottom padding if already defined, optional, default=0 if padding is not defined
paddingLeft (int) – the Left padding, override Left padding if already defined, optional, default=0 if padding is not defined
paddingRight (int) – the Right padding, override Right padding if already defined, optional, default=0 if padding is not defined
forwardStyle (bool) – [Experimental] any change of style will reflect the children, defaults to False
TTkWidget’s inherited init params:- Parameters:
name (str, optional) – the name of the widget, defaults to “”
parent (
TTkWidget, optional) – the parent widget, defaults to Nonex (int, optional) – the x position, defaults to 0
y (int, optional) – the y position, defaults to 0
pos ((int,int), optional) – the [x,y] position (override the previously defined x, y), defaults to (x,y)
width (int, optional) – the width of the widget, defaults to 0
height (int, optional) – the height of the widget, defaults to 0
size ((int,int), optional) – the size [width, height] of the widget (override the previously defined sizes), defaults to (width,height)
maxWidth (int, optional) – the maxWidth of the widget, defaults to 0x10000
maxHeight (int, optional) – the maxHeight of the widget, defaults to 0x10000
maxSize ((int,int), optional) – the max [width,height] of the widget, optional, defaults to (maxWidth,maxHeight)
minWidth (int, optional) – the minWidth of the widget, defaults to 0
minHeight (int, optional) – the minHeight of the widget, defaults to 0
minSize ((int,int), optional) – the minSize [width,height] of the widget, optional, defaults to (minWidth,minHeight)
toolTip (
TTkString, optional) – This property holds the widget’s tooltip, defaults to ‘’style (dict, optional) – this field hold the custom style to be used by this widget
addStyle (dict, optional) – this field is required to override/merge the new style on top of the current one, useful if only few params need to be changed
visible (bool, optional) – the visibility, optional, defaults to True
enabled (bool, optional) – the ability to handle input events, optional, defaults to True
TMouseEvents’s inherited init params:Initialize self. See help(type(self)) for accurate signature.
TDragEvents’s inherited init params:Initialize self. See help(type(self)) for accurate signature.
Style🌶️
classStyle = { 'default': { 'color': TTkColor.RST, 'lineColor': TTkColor.fg("#444444"), 'lineHeightColor': TTkColor.fg("#666666"), 'headerColor': TTkColor.fg("#ffffff")+TTkColor.bg("#444444")+TTkColor.BOLD, 'selectedColor': TTkColor.fg("#ffff88")+TTkColor.bg("#000066")+TTkColor.BOLD, 'separatorColor': TTkColor.fg("#444444")}, 'disabled': { 'color': TTkColor.fg("#888888"), 'lineColor': TTkColor.fg("#888888"), 'lineHeightColor': TTkColor.fg("#666666"), 'headerColor': TTkColor.fg("#888888"), 'selectedColor': TTkColor.fg("#888888"), 'separatorColor': TTkColor.fg("#888888")}, }
Signals🌶️
This signal is emitted whenever the widget is closed
This signal is emitted whenever the widget stye change
This signal is emitted whenever the focus status change i.e. with the
setFocus()orclearFocus()methods.This signal is emitted whenever the widget size change
This signal is emitted whenever there is a change in the view content topology (size,pos)
This signal is emitted when the view content move to a new position (x,y),
This signal is emitted when the view content size changed
Slots🌶️
Collapse all collapsable items.
Expands all expandable items.
Slots Inherited from:
TTkAbstractScrollViewviewMoveTo(x, y)This method is used to set the vertical and horizontal offsets of the
TTkAbstractScrollViewInterfaceSlots Inherited from:
TTkContainerhide()hide the widget
show()show the widget
Slots Inherited from:
TTkWidgetclose()Close (Destroy/Remove) the widget
hide()hide the widget
lowerWidget()Lower the Widget below its relatives
raiseWidget([raiseParent])Raise the Widget above its relatives
setDisabled([disabled])This property holds whether the widget is disnabled
setEnabled([enabled])This property holds whether the widget is enabled
setFocus()Focus the widget
setVisible(visible)Set the visibility status of this widget
show()show the widget
update([repaint, updateLayout, updateParent])Notify the drawing routine that the widget changed and needs to draw its new content.
Members🌶️
- closed: pyTTkSignal🌶️
This signal is emitted whenever the widget is closed
- Parameters:
widget (TTkWidget) – the widget closed (=self)
- currentStyleChanged: pyTTkSignal🌶️
This signal is emitted whenever the widget stye change
- Parameters:
style (dict) – the new style applied
- focusChanged: pyTTkSignal🌶️
This signal is emitted whenever the focus status change i.e. with the
setFocus()orclearFocus()methods- Parameters:
status (bool) – the curent focus status
- sizeChanged: pyTTkSignal🌶️
This signal is emitted whenever the widget size change
- Parameters:
width (int) – the new widget width
height (int) – the new widget height
- viewChanged: pyTTkSignal🌶️
This signal is emitted whenever there is a change in the view content topology (size,pos)
Note
This signal must be implemented in any implementation of
TTkAbstractScrollViewto notify that the view content boudaries changed
- viewMovedTo: pyTTkSignal🌶️
This signal is emitted when the view content move to a new position (x,y),
- Parameters:
x (int) – the new horizontal offset
y (int) – the new vertical offset
- viewSizeChanged: pyTTkSignal🌶️
This signal is emitted when the view content size changed
- Parameters:
width (int) – the new width
height (int) – the new heighht
Methods🌶️
- addTopLevelItem(item: TTkTreeWidgetItem) None[source]🌶️
Appends the item as a top-level item in the widget.
- Parameters:
item (
TTkTreeWidgetItem) – the item to be added.
- addTopLevelItems(items: List[TTkTreeWidgetItem]) None[source]🌶️
Appends the list of items as a top-level items in the widget.
- Parameters:
item (List[
TTkTreeWidgetItem]) – the item to be added.
- columnWidth(column: int) int[source]🌶️
This property hold the width of the column requested
- Parameters:
column (int) – the column position
- Return type:
int
- dragDropMode() DragDropMode[source]🌶️
- indexOfTopLevelItem(item: TTkTreeWidgetItem) int[source]🌶️
Returns the index of the given top-level item, or -1 if the item cannot be found.
- Return type:
int
- invisibleRootItem() TTkTreeWidgetItem[source]🌶️
Returns the tree widget’s invisible root item.
The invisible root item provides access to the tree widget’s top-level items through the
TTkTreeWidgetItemAPI, making it possible to write functions that can treat top-level items and their children in a uniform way; for example, recursive functions.- Returns:
the root Item
- Return type:
- isSortingEnabled() bool[source]🌶️
This property holds whether sorting is enabled
If this property is true, sorting is enabled for the tree; if the property is false, sorting is not enabled. The default value is false.
- Return type:
bool
- resizeColumnToContents(column: int) None[source]🌶️
rwsize the width of the column requestedto its content
- Parameters:
column (int) – the column position
- selectedItems() List[TTkTreeWidgetItem][source]🌶️
Returns a list of all selected non-hidden items.
- Return type:
List[
TTkTreeWidgetItem]
- selectionMode() SelectionMode[source]🌶️
- Return type:
- setColumnWidth(column: int, width: int) None[source]🌶️
Set the width of the column requested
- Parameters:
column (int) – the column position
- Return type:
int
- setDragDropMode(dndMode: DragDropMode)[source]🌶️
- setHeaderLabels(labels: List[TTkString]) None[source]🌶️
Adds a column in the header for each item in the labels list, and sets the label for each column.
- Parameters:
labels (List[
TTkString]) – the list of labels
- setSelectionMode(mode: SelectionMode) None[source]🌶️
Sets the current selection model to the given selectionModel.
- Parameters:
mode (
TTkK.SelectionMode) – the selection mode used in this tree
- setSortingEnabled(enabled: bool) None[source]🌶️
This property holds whether sorting is enabled
If this property is true, sorting is enabled for the tree; if the property is false, sorting is not enabled. The default value is false.
- Parameters:
enabled (bool) – the sorting status
- sortColumn() int[source]🌶️
Returns the column used to sort the contents of the widget. -1 in case no column sort is used
- Return type:
int
- sortItems(col: int, order: SortOrder) None[source]🌶️
Sorts the items in the widget in the specified order by the values in the given column.
- Parameters:
col (int) – the column used as reference for the sorting
order (
TTkK.SortOrder) – the sorting order
- takeTopLevelItem(index: int) TTkTreeWidgetItem | None[source]🌶️
Removes the top-level item at the given index in the tree and returns it, otherwise returns None;
- Parameters:
index (int) – the index of the item
- Return type:
Optional[
TTkTreeWidgetItem]
- topLevelItem(index) TTkTreeWidgetItem | None[source]🌶️
Returns the top level item at the given index, or None if the item does not exist.
- Parameters:
index (int) – the index of the item
- Return type:
Optional[
TTkTreeWidgetItem]
Methods Inherited from:
TTkAbstractScrollViewgetViewOffsets()Retrieve the vertical and horizontal offsets of the
TTkAbstractScrollViewInterfaceresizeEvent(w, h)Convenience function, Event Callback triggered after a successful resize
setPadding(top, bottom, left, right)Set the
TTkContainer's paddings sizes as shown in Layout Topologyupdate([repaint, updateLayout, updateParent])Notify the drawing routine that the widget changed and needs to draw its new content.
viewDisplayedSize()This method returns the displayed size of the
TTkAbstractScrollViewInterfaceimplementation.viewFullAreaSize()This method returns the full widget area size of the
TTkAbstractScrollViewInterfaceimplementation.viewMoveTo(x, y)This method is used to set the vertical and horizontal offsets of the
TTkAbstractScrollViewInterfacewheelEvent(evt)This event handler, can be reimplemented in a subclass to receive mouse wheel events for the widget.
Methods Inherited from:
TTkContaineraddWidget(widget)getPadding()Retrieve the
TTkContainer's paddings sizes as shown in Layout TopologygetWidgetByName(name)Return the widget from its name.
hide()hide the widget
layout()Get the Layout
maximumHeight()maximumWidth()minimumHeight()minimumWidth()paintChildCanvas()removeWidget(widget)rootLayout()This is a root layout mainly used to place items that are not supposed to be inside the main layout (i.e. the menu elements).
setCurrentStyle(*args, **kwargs)setLayout(layout)Set the Layout used by this widget to place all the child widgets.
setPadding(top, bottom, left, right)Set the
TTkContainer's paddings sizes as shown in Layout Topologyshow()show the widget
update([repaint, updateLayout, updateParent])Notify the drawing routine that the widget changed and needs to draw its new content.
Methods Inherited from:
TTkWidgetclearFocus()Remove the Focus state of this widget
close()Close (Destroy/Remove) the widget
currentStyle()disableWidgetCursor([disable])enableWidgetCursor([enable])focusInEvent()focusOutEvent()focusPolicy()geometry()getCanvas()getPixmap()Convenience function which return a pixmap representing the current widget status
getWidgetByName(name)Return the widget from its name.
hasFocus()This property holds the focus status of this widget
height()hide()hide the widget
isEnabled()This property holds whether the widget is enabled
isEntered()isVisible()Retrieve the visibility status of this widget
isVisibleAndParent()lowerWidget()Lower the Widget below its relatives
maxDimension(orientation)maximumHeight()maximumSize()maximumWidth()mergeStyle(style)minDimension(orientation)minimumHeight()minimumSize()minimumWidth()mouseEvent(evt)move(x, y)Move the widget
moveEvent(x, y)Convenience function, Event Callback triggered after a successful move
name()paintChildCanvas()paintEvent(canvas)Paint Event callback, this need to be overridden in the widget.
parentWidget()pasteEvent(txt)Callback triggered when a paste event is forwarded to this widget.
pos()raiseWidget([raiseParent])Raise the Widget above its relatives
resize(width, height)Resize the widget
resizeEvent(w, h)Convenience function, Event Callback triggered after a successful resize
setCurrentStyle(*args, **kwargs)setDefaultSize(arg, width, height)setDisabled([disabled])This property holds whether the widget is disnabled
setDropEventProxy(proxy)setEnabled([enabled])This property holds whether the widget is enabled
setFocus()Focus the widget
setFocusPolicy(policy)This property holds the way the widget accepts keyboard focus
setGeometry(x, y, width, height)Resize and move the widget
setMaximumHeight(maxh)setMaximumSize(maxw, maxh)setMaximumWidth(maxw)setMinimumHeight(minh)setMinimumSize(minw, minh)setMinimumWidth(minw)setName(name)Set the name of this Instance
setParent(parent)setStyle([style])setToolTip(toolTip)setVisible(visible)Set the visibility status of this widget
setWidgetCursor([pos, type])show()show the widget
size()style()toolTip()update([repaint, updateLayout, updateParent])Notify the drawing routine that the widget changed and needs to draw its new content.
widgetItem()width()x()y()Methods Inherited from:
TMouseEventsenterEvent(evt)This event handler, can be reimplemented in a subclass to receive mouse enter events for the widget.
leaveEvent(evt)This event handler, can be reimplemented in a subclass to receive mouse leave events for the widget.
mouseDoubleClickEvent(evt)This event handler, can be reimplemented in a subclass to receive mouse click events for the widget.
mouseDragEvent(evt)This event handler, can be reimplemented in a subclass to receive mouse drag events for the widget.
mouseMoveEvent(evt)This event handler, can be reimplemented in a subclass to receive mouse move events for the widget.
mousePressEvent(evt)This event handler, can be reimplemented in a subclass to receive mouse press events for the widget.
mouseReleaseEvent(evt)This event handler, can be reimplemented in a subclass to receive mouse release events for the widget.
mouseTapEvent(evt)This event handler, can be reimplemented in a subclass to receive mouse click events for the widget.
wheelEvent(evt)This event handler, can be reimplemented in a subclass to receive mouse wheel events for the widget.
Methods Inherited from:
TKeyEventskeyEvent(evt)This event handler, can be reimplemented in a subclass to receive key events for the widget.
Methods Inherited from:
TDragEventsdragEnterEvent(evt)This event handler, can be reimplemented in a subclass to receive drag events for the widget.
dragLeaveEvent(evt)This event handler, can be reimplemented in a subclass to receive drag events for the widget.
dragMoveEvent(evt)This event handler, can be reimplemented in a subclass to receive drag events for the widget.
dropEvent(evt)This event handler, can be reimplemented in a subclass to receive drag events for the widget.
TTkTreeWidget Attributes🌶️
|
|
|
This signal is emitted when the user activates an item by double-clicking or pressing a special key (e.g., Enter). |
|
This signal is emitted when the contents of the column in the specified item changes. |
|
This signal is emitted when the user clicks inside the widget. |
|
This signal is emitted when the specified item is collapsed so that none of its children are displayed. |
|
This signal is emitted when the user double clicks inside the widget. |
|
This signal is emitted when the specified item is expanded so that all of its children are displayed. |