TreeViewColumn
Deprecated since version 4.10: Use ColumnView
and ColumnViewColumn
instead of TreeView
to show a tabular list
- class TreeViewColumn(title='', cell_renderer=None, **attributes)
Superclasses: InitiallyUnowned
, Object
Implemented Interfaces: Buildable
, CellLayout
A visible column in a TreeView
widget
The GtkTreeViewColumn
object represents a visible column in a GtkTreeView
widget.
It allows to set properties of the column header, and functions as a holding pen
for the cell renderers which determine how the data in the column is displayed.
Please refer to the tree widget conceptual overview
for an overview of all the objects and data types related to the tree widget and
how they work together, and to the TreeView
documentation for specifics
about the CSS node structure for treeviews and their headers.
Constructors
- class TreeViewColumn
- classmethod new() TreeViewColumn
Creates a new
GtkTreeViewColumn
.Deprecated since version 4.10: Use GtkColumnView instead
- classmethod new_with_area(area: CellArea) TreeViewColumn
Creates a new
GtkTreeViewColumn
usingarea
to render its cells.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
area – the
GtkCellArea
that the newly created column should use to layout cells.
Methods
- class TreeViewColumn
- add_attribute(cell_renderer: CellRenderer, attribute: str, column: int) None
Adds an attribute mapping to the list in
tree_column
.The
column
is the column of the model to get a value from, and theattribute
is the parameter oncell_renderer
to be set from the value. So for example if column 2 of the model contains strings, you could have the “text” attribute of aGtkCellRendererText
get its values from column 2.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
cell_renderer – the
GtkCellRenderer
to set attributes onattribute – An attribute on the renderer
column – The column position on the model to get the attribute from.
- cell_get_position(cell_renderer: CellRenderer) tuple[bool, int, int]
Obtains the horizontal position and size of a cell in a column.
If the cell is not found in the column,
start_pos
andwidth
are not changed andFalse
is returned.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
cell_renderer – a
GtkCellRenderer
- cell_get_size() tuple[int, int, int, int]
Obtains the width and height needed to render the column. This is used primarily by the
GtkTreeView
.Deprecated since version 4.10: Use GtkColumnView instead
- cell_is_visible() bool
Returns
True
if any of the cells packed into thetree_column
are visible. For this to be meaningful, you must first initialize the cells withcell_set_cell_data()
Deprecated since version 4.10: Use GtkColumnView instead
- cell_set_cell_data(tree_model: TreeModel, iter: TreeIter, is_expander: bool, is_expanded: bool) None
Sets the cell renderer based on the
tree_model
anditer
. That is, for every attribute mapping intree_column
, it will get a value from the set column on theiter
, and use that value to set the attribute on the cell renderer. This is used primarily by theGtkTreeView
.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
tree_model – The
GtkTreeModel
to get the cell renderers attributes from.iter – The
GtkTreeIter
to get the cell renderer’s attributes from.is_expander –
True
, if the row has childrenis_expanded –
True
, if the row has visible children
- clear() None
Unsets all the mappings on all renderers on the
tree_column
.Deprecated since version 4.10: Use GtkColumnView instead
- clear_attributes(cell_renderer: CellRenderer) None
Clears all existing attributes previously set with
set_attributes()
.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
cell_renderer – a
GtkCellRenderer
to clear the attribute mapping on.
- clicked() None
Emits the “clicked” signal on the column. This function will only work if
tree_column
is clickable.Deprecated since version 4.10: Use GtkColumnView instead
- focus_cell(cell: CellRenderer) None
Sets the current keyboard focus to be at
cell
, if the column contains 2 or more editable and activatable cells.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
cell – A
GtkCellRenderer
- get_alignment() float
Returns the current x alignment of
tree_column
. This value can range between 0.0 and 1.0.Deprecated since version 4.10: Use GtkColumnView instead
- get_button() Widget
Returns the button used in the treeview column header
Deprecated since version 4.10: Use GtkColumnView instead
- get_clickable() bool
Returns
True
if the user can click on the header for the column.Deprecated since version 4.10: Use GtkColumnView instead
- get_expand() bool
Returns
True
if the column expands to fill available space.Deprecated since version 4.10: Use GtkColumnView instead
- get_fixed_width() int
Gets the fixed width of the column. This may not be the actual displayed width of the column; for that, use
get_width()
.Deprecated since version 4.10: Use GtkColumnView instead
- get_max_width() int
Returns the maximum width in pixels of the
tree_column
, or -1 if no maximum width is set.Deprecated since version 4.10: Use GtkColumnView instead
- get_min_width() int
Returns the minimum width in pixels of the
tree_column
, or -1 if no minimum width is set.Deprecated since version 4.10: Use GtkColumnView instead
- get_reorderable() bool
Returns
True
if thetree_column
can be reordered by the user.Deprecated since version 4.10: Use GtkColumnView instead
- get_resizable() bool
Returns
True
if thetree_column
can be resized by the end user.Deprecated since version 4.10: Use GtkColumnView instead
- get_sizing() TreeViewColumnSizing
Returns the current type of
tree_column
.Deprecated since version 4.10: Use GtkColumnView instead
- get_sort_column_id() int
Gets the logical
sort_column_id
that the model sorts on when this column is selected for sorting.See
set_sort_column_id
.Deprecated since version 4.10: Use GtkColumnView instead
- get_sort_indicator() bool
Gets the value set by
set_sort_indicator()
.Deprecated since version 4.10: Use GtkColumnView instead
- get_sort_order() SortType
Gets the value set by
set_sort_order()
.Deprecated since version 4.10: Use GtkColumnView instead
- get_spacing() int
Returns the spacing of
tree_column
.Deprecated since version 4.10: Use GtkColumnView instead
- get_title() str
Returns the title of the widget.
Deprecated since version 4.10: Use GtkColumnView instead
- get_tree_view() Widget | None
Returns the
GtkTreeView
whereintree_column
has been inserted. Ifcolumn
is currently not inserted in any tree view,None
is returned.Deprecated since version 4.10: Use GtkColumnView instead
- get_visible() bool
Returns
True
iftree_column
is visible.Deprecated since version 4.10: Use GtkColumnView instead
- get_widget() Widget | None
Returns the
GtkWidget
in the button on the column header.If a custom widget has not been set then
None
is returned.Deprecated since version 4.10: Use GtkColumnView instead
- get_width() int
Returns the current size of
tree_column
in pixels.Deprecated since version 4.10: Use GtkColumnView instead
- get_x_offset() int
Returns the current X offset of
tree_column
in pixels.Deprecated since version 4.10: Use GtkColumnView instead
- pack_end(cell: CellRenderer, expand: bool) None
Adds the
cell
to end of the column. Ifexpand
isFalse
, then thecell
is allocated no more space than it needs. Any unused space is divided evenly between cells for whichexpand
isTrue
.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
cell – The
GtkCellRenderer
expand –
True
ifcell
is to be given extra space allocated totree_column
.
- pack_start(cell: CellRenderer, expand: bool) None
Packs the
cell
into the beginning of the column. Ifexpand
isFalse
, then thecell
is allocated no more space than it needs. Any unused space is divided evenly between cells for whichexpand
isTrue
.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
cell – The
GtkCellRenderer
expand –
True
ifcell
is to be given extra space allocated totree_column
.
- queue_resize() None
Flags the column, and the cell renderers added to this column, to have their sizes renegotiated.
Deprecated since version 4.10: Use GtkColumnView instead
- set_alignment(xalign: float) None
Sets the alignment of the title or custom widget inside the column header. The alignment determines its location inside the button – 0.0 for left, 0.5 for center, 1.0 for right.
Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
xalign – The alignment, which is between [0.0 and 1.0] inclusive.
- set_attributes(cell_renderer, **attributes)
Sets the attributes in the list as the attributes of
tree_column
.The attributes should be in attribute/column order, as in
add_attribute()
. All existing attributes are removed, and replaced with the new attributes.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
cell_renderer – the
GtkCellRenderer
we’re setting the attributes ofattributes
- set_cell_data_func(cell_renderer, func, func_data=None)
Sets the
GtkTreeCellDataFunc
to use for the column.This function is used instead of the standard attributes mapping for setting the column value, and should set the value of
tree_column
’s cell renderer as appropriate.func
may beNone
to remove an older one.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
cell_renderer – A
GtkCellRenderer
func – The
GtkTreeCellDataFunc
to use.func_data – The user data for
func
.
- set_clickable(clickable: bool) None
Sets the header to be active if
clickable
isTrue
. When the header is active, then it can take keyboard focus, and can be clicked.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
clickable –
True
if the header is active.
- set_expand(expand: bool) None
Sets the column to take available extra space. This space is shared equally amongst all columns that have the expand set to
True
. If no column has this option set, then the last column gets all extra space. By default, every column is created with thisFalse
.Along with “fixed-width”, the “expand” property changes when the column is resized by the user.
Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
expand –
True
if the column should expand to fill available space.
- set_fixed_width(fixed_width: int) None
If
fixed_width
is not -1, sets the fixed width oftree_column
; otherwise unsets it. The effective value offixed_width
is clamped between the minimum and maximum width of the column; however, the value stored in the “fixed-width” property is not clamped. If the column sizing isGROW_ONLY
orAUTOSIZE
, setting a fixed width overrides the automatically calculated width. Note thatfixed_width
is only a hint to GTK; the width actually allocated to the column may be greater or less than requested.Along with “expand”, the “fixed-width” property changes when the column is resized by the user.
Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
fixed_width – The new fixed width, in pixels, or -1.
- set_max_width(max_width: int) None
Sets the maximum width of the
tree_column
. Ifmax_width
is -1, then the maximum width is unset. Note, the column can actually be wider than max width if it’s the last column in a view. In this case, the column expands to fill any extra space.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
max_width – The maximum width of the column in pixels, or -1.
- set_min_width(min_width: int) None
Sets the minimum width of the
tree_column
. Ifmin_width
is -1, then the minimum width is unset.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
min_width – The minimum width of the column in pixels, or -1.
- set_reorderable(reorderable: bool) None
If
reorderable
isTrue
, then the column can be reordered by the end user dragging the header.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
reorderable –
True
, if the column can be reordered.
- set_resizable(resizable: bool) None
If
resizable
isTrue
, then the user can explicitly resize the column by grabbing the outer edge of the column button.If resizable is
True
and sizing mode of the column isAUTOSIZE
, then the sizing mode is changed toGROW_ONLY
.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
resizable –
True
, if the column can be resized
- set_sizing(type: TreeViewColumnSizing) None
Sets the growth behavior of
tree_column
totype
.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
type – The ``GtkTreeViewColumn``Sizing.
- set_sort_column_id(sort_column_id: int) None
Sets the logical
sort_column_id
that this column sorts on when this column is selected for sorting. Doing so makes the column header clickable.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
sort_column_id – The
sort_column_id
of the model to sort on.
- set_sort_indicator(setting: bool) None
Call this function with a
setting
ofTrue
to display an arrow in the header button indicating the column is sorted. Callset_sort_order()
to change the direction of the arrow.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
setting –
True
to display an indicator that the column is sorted
- set_sort_order(order: SortType) None
Changes the appearance of the sort indicator.
This does not actually sort the model. Use
set_sort_column_id()
if you want automatic sorting support. This function is primarily for custom sorting behavior, and should be used in conjunction withset_sort_column_id()
to do that. For custom models, the mechanism will vary.The sort indicator changes direction to indicate normal sort or reverse sort. Note that you must have the sort indicator enabled to see anything when calling this function; see
set_sort_indicator()
.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
order – sort order that the sort indicator should indicate
- set_spacing(spacing: int) None
Sets the spacing field of
tree_column
, which is the number of pixels to place between cell renderers packed into it.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
spacing – distance between cell renderers in pixels.
- set_title(title: str) None
Sets the title of the
tree_column
. If a custom widget has been set, then this value is ignored.Deprecated since version 4.10: Use GtkColumnView instead
- Parameters:
title – The title of the
tree_column
.
Properties
- class TreeViewColumn
-
- props.cell_area: CellArea
The
GtkCellArea
used to layout cell renderers for this column.If no area is specified when creating the tree view column with
new_with_area()
a horizontally orientedGtkCellAreaBox
will be used.
- props.sizing: TreeViewColumnSizing