class QLayoutItem#

The QLayoutItem class provides an abstract item that a QLayout manipulates. More

Inherited by: QSpacerItem, QWidgetItem, QLayout, QStackedLayout, QGridLayout, QFormLayout, QBoxLayout, QVBoxLayout, QHBoxLayout

Synopsis#

Methods#

Virtual methods#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description#

This is used by custom layouts.

Pure virtual functions are provided to return information about the layout, including, sizeHint() , minimumSize() , maximumSize() and expandingDirections() .

The layout’s geometry can be set and retrieved with setGeometry() and geometry() , and its alignment with setAlignment() and alignment() .

isEmpty() returns whether the layout item is empty. If the concrete item is a QWidget , it can be retrieved using widget() . Similarly for layout() and spacerItem() .

Some layouts have width and height interdependencies. These can be expressed using hasHeightForWidth() , heightForWidth() , and minimumHeightForWidth() . For more explanation see the Qt Quarterly article Trading Height for Width .

See also

QLayout

PySide6.QtWidgets.QLayoutItem.align#
__init__([alignment=Qt.Alignment()])#
Parameters:

alignment – Combination of AlignmentFlag

Constructs a layout item with an alignment. Not all subclasses support alignment.

alignment()#
Return type:

Combination of AlignmentFlag

Returns the alignment of this item.

See also

setAlignment()

controlTypes()#
Return type:

Combination of ControlType

Returns the control type(s) for the layout item. For a QWidgetItem , the control type comes from the widget’s size policy; for a QLayoutItem , the control types is derived from the layout’s contents.

See also

controlType()

abstract expandingDirections()#
Return type:

Combination of Orientation

Returns whether this layout item can make use of more space than sizeHint() . A value of Qt::Vertical or Qt::Horizontal means that it wants to grow in only one dimension, whereas Qt::Vertical | Qt::Horizontal means that it wants to grow in both dimensions.

abstract geometry()#
Return type:

QRect

Returns the rectangle covered by this layout item.

See also

setGeometry()

hasHeightForWidth()#
Return type:

bool

Returns true if this layout’s preferred height depends on its width; otherwise returns false. The default implementation returns false.

Reimplement this function in layout managers that support height for width.

heightForWidth(arg__1)#
Parameters:

arg__1 – int

Return type:

int

Warning

This section contains snippets that were automatically translated from C++ to Python and may contain errors.

Returns the preferred height for this layout item, given the width, which is not used in this default implementation.

The default implementation returns -1, indicating that the preferred height is independent of the width of the item. Using the function hasHeightForWidth() will typically be much faster than calling this function and testing for -1.

Reimplement this function in layout managers that support height for width. A typical implementation will look like this:

def heightForWidth(self, int w):

    if cache_dirty or cached_width != w:
        that = _cast<MyLayout *>(self)
        h = calculateHeightForWidth(w)
        that.cached_hfw = h
        return h

    return cached_hfw

Caching is strongly recommended; without it layout will take exponential time.

invalidate()#

Invalidates any cached information in this layout item.

abstract isEmpty()#
Return type:

bool

Implemented in subclasses to return whether this item is empty, i.e. whether it contains any widgets.

layout()#
Return type:

QLayout

If this item is a QLayout , it is returned as a QLayout ; otherwise None is returned. This function provides type-safe casting.

abstract maximumSize()#
Return type:

QSize

Implemented in subclasses to return the maximum size of this item.

minimumHeightForWidth(arg__1)#
Parameters:

arg__1 – int

Return type:

int

Returns the minimum height this widget needs for the given width, w. The default implementation simply returns heightForWidth (w).

abstract minimumSize()#
Return type:

QSize

Implemented in subclasses to return the minimum size of this item.

setAlignment(a)#
Parameters:

a – Combination of AlignmentFlag

Sets the alignment of this item to alignment.

Note

Item alignment is only supported by QLayoutItem subclasses where it would have a visual effect. Except for QSpacerItem , which provides blank space for layouts, all public Qt classes that inherit QLayoutItem support item alignment.

See also

alignment()

abstract setGeometry(arg__1)#
Parameters:

arg__1QRect

Implemented in subclasses to set this item’s geometry to r.

See also

geometry()

abstract sizeHint()#
Return type:

QSize

Implemented in subclasses to return the preferred size of this item.

spacerItem()#
Return type:

QSpacerItem

If this item is a QSpacerItem , it is returned as a QSpacerItem ; otherwise None is returned. This function provides type-safe casting.

See also

layout() widget()

widget()#
Return type:

QWidget

If this item manages a QWidget , returns that widget. Otherwise, None is returned.

Note

While the functions layout() and spacerItem() perform casts, this function returns another object: QLayout and QSpacerItem inherit QLayoutItem , while QWidget does not.