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#
Functions#
def
alignment
()def
setAlignment
(a)
Virtual functions#
def
controlTypes
()def
expandingDirections
()def
geometry
()def
hasHeightForWidth
()def
heightForWidth
(arg__1)def
invalidate
()def
isEmpty
()def
layout
()def
maximumSize
()def
minimumHeightForWidth
(arg__1)def
minimumSize
()def
setGeometry
(arg__1)def
sizeHint
()def
spacerItem
()def
widget
()
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 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
- class PySide6.QtWidgets.QLayoutItem([alignment=Qt.Alignment()])#
- Parameters:
alignment –
Alignment
Constructs a layout item with an alignment
. Not all subclasses support alignment.
- PySide6.QtWidgets.QLayoutItem.align#
- PySide6.QtWidgets.QLayoutItem.alignment()#
- Return type:
Alignment
Returns the alignment of this item.
See also
- PySide6.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
- abstract PySide6.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.
- abstract PySide6.QtWidgets.QLayoutItem.geometry()#
- Return type:
Returns the rectangle covered by this layout item.
See also
- PySide6.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.
See also
- PySide6.QtWidgets.QLayoutItem.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.
See also
- PySide6.QtWidgets.QLayoutItem.invalidate()#
Invalidates any cached information in this layout item.
- abstract PySide6.QtWidgets.QLayoutItem.isEmpty()#
- Return type:
bool
Implemented in subclasses to return whether this item is empty, i.e. whether it contains any widgets.
- PySide6.QtWidgets.QLayoutItem.layout()#
- Return type:
If this item is a QLayout
, it is returned as a QLayout
; otherwise None
is returned. This function provides type-safe casting.
See also
- abstract PySide6.QtWidgets.QLayoutItem.maximumSize()#
- Return type:
Implemented in subclasses to return the maximum size of this item.
- PySide6.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
).
- abstract PySide6.QtWidgets.QLayoutItem.minimumSize()#
- Return type:
Implemented in subclasses to return the minimum size of this item.
- PySide6.QtWidgets.QLayoutItem.setAlignment(a)#
- Parameters:
a –
Alignment
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
- abstract PySide6.QtWidgets.QLayoutItem.setGeometry(arg__1)#
- Parameters:
arg__1 –
PySide6.QtCore.QRect
Implemented in subclasses to set this item’s geometry to r
.
See also
- abstract PySide6.QtWidgets.QLayoutItem.sizeHint()#
- Return type:
Implemented in subclasses to return the preferred size of this item.
- PySide6.QtWidgets.QLayoutItem.spacerItem()#
- Return type:
If this item is a QSpacerItem
, it is returned as a QSpacerItem
; otherwise None
is returned. This function provides type-safe casting.
- PySide6.QtWidgets.QLayoutItem.widget()#
- Return type:
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.
See also