QLayoutItem

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

Inheritance diagram of PySide2.QtWidgets.QLayoutItem

Inherited by: QSpacerItem, QWidgetItem

Synopsis

Functions

Virtual functions

Detailed Description

This is used by custom layouts.

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

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

class PySide2.QtWidgets.QLayoutItem([alignment=Qt.Alignment()])
param alignment:

Alignment

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

PySide2.QtWidgets.QLayoutItem.align
PySide2.QtWidgets.QLayoutItem.alignment()
Return type:

Alignment

Returns the alignment of this item.

See also

setAlignment()

PySide2.QtWidgets.QLayoutItem.controlTypes()
Return type:

ControlTypes

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()

PySide2.QtWidgets.QLayoutItem.expandingDirections()
Return type:

Orientations

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

PySide2.QtWidgets.QLayoutItem.geometry()
Return type:

PySide2.QtCore.QRect

Returns the rectangle covered by this layout item.

See also

setGeometry()

PySide2.QtWidgets.QLayoutItem.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.

PySide2.QtWidgets.QLayoutItem.heightForWidth(arg__1)
Parameters:

arg__1 – int

Return type:

int

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, w):
    if cache_dirty or cached_width != w:
        h = calculateHeightForWidth(w)
        self.cached_hfw = h
        return h
    return cached_hfw

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

PySide2.QtWidgets.QLayoutItem.invalidate()

Invalidates any cached information in this layout item.

PySide2.QtWidgets.QLayoutItem.isEmpty()
Return type:

bool

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

PySide2.QtWidgets.QLayoutItem.layout()
Return type:

PySide2.QtWidgets.QLayout

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

PySide2.QtWidgets.QLayoutItem.maximumSize()
Return type:

PySide2.QtCore.QSize

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

PySide2.QtWidgets.QLayoutItem.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 ).

PySide2.QtWidgets.QLayoutItem.minimumSize()
Return type:

PySide2.QtCore.QSize

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

PySide2.QtWidgets.QLayoutItem.setAlignment(a)
Parameters:

aAlignment

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()

PySide2.QtWidgets.QLayoutItem.setGeometry(arg__1)
Parameters:

arg__1PySide2.QtCore.QRect

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

See also

geometry()

PySide2.QtWidgets.QLayoutItem.sizeHint()
Return type:

PySide2.QtCore.QSize

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

PySide2.QtWidgets.QLayoutItem.spacerItem()
Return type:

PySide2.QtWidgets.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()

PySide2.QtWidgets.QLayoutItem.widget()
Return type:

PySide2.QtWidgets.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.