QLayoutItem Class
La clase QLayoutItem proporciona un elemento abstracto que un QLayout manipula. Más...
| Cabecera: | #include <QLayoutItem> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Heredado por: |
Funciones Públicas
| QLayoutItem(Qt::Alignment alignment = Qt::Alignment()) | |
| virtual | ~QLayoutItem() |
| Qt::Alignment | alignment() const |
| virtual QSizePolicy::ControlTypes | controlTypes() const |
| virtual Qt::Orientations | expandingDirections() const = 0 |
| virtual QRect | geometry() const = 0 |
| virtual bool | hasHeightForWidth() const |
| virtual int | heightForWidth(int) const |
| virtual void | invalidate() |
| virtual bool | isEmpty() const = 0 |
| virtual QLayout * | layout() |
| virtual QSize | maximumSize() const = 0 |
| virtual int | minimumHeightForWidth(int w) const |
| virtual QSize | minimumSize() const = 0 |
| void | setAlignment(Qt::Alignment alignment) |
| virtual void | setGeometry(const QRect &r) = 0 |
| virtual QSize | sizeHint() const = 0 |
| virtual QSpacerItem * | spacerItem() |
| virtual QWidget * | widget() const |
Descripción Detallada
Es utilizado por los diseños personalizados.
Se proporcionan funciones virtuales puras para devolver información sobre el diseño, incluyendo sizeHint(), minimumSize(), maximumSize() y expandingDirections().
La geometría de la presentación puede establecerse y recuperarse con setGeometry() y geometry(), y su alineación con setAlignment() y alignment().
isEmpty() devuelve si el elemento de diseño está vacío. Si el elemento concreto es un QWidget, puede recuperarse con widget(). Lo mismo ocurre con layout() y spacerItem().
Algunos diseños tienen interdependencias de anchura y altura. Éstas pueden expresarse mediante hasHeightForWidth(), heightForWidth() y minimumHeightForWidth(). Para más explicaciones ver el artículo de Qt Quarterly Trading Height for Width.
Véase también QLayout.
Documentación de funciones miembro
[explicit] QLayoutItem::QLayoutItem(Qt::Alignment alignment = Qt::Alignment())
Construye un elemento de diseño con un alignment. No todas las subclases soportan la alineación.
[virtual noexcept] QLayoutItem::~QLayoutItem()
Destruye el QLayoutItem.
Qt::Alignment QLayoutItem::alignment() const
Devuelve la alineación de este elemento.
Véase también setAlignment().
[virtual] QSizePolicy::ControlTypes QLayoutItem::controlTypes() const
Devuelve el tipo o tipos de control del elemento de diseño. En el caso de QWidgetItem, el tipo de control procede de la política de tamaño del widget; en el caso de QLayoutItem, el tipo de control procede del contenido de la presentación.
Véase también QSizePolicy::controlType().
[pure virtual] Qt::Orientations QLayoutItem::expandingDirections() const
Devuelve si este elemento de diseño puede utilizar más espacio que sizeHint(). Un valor de Qt::Vertical o Qt::Horizontal significa que quiere crecer en una sola dimensión, mientras que Qt::Vertical | Qt::Horizontal significa que quiere crecer en ambas dimensiones.
[pure virtual] QRect QLayoutItem::geometry() const
Devuelve el rectángulo cubierto por este elemento de diseño.
Véase también setGeometry().
[virtual] bool QLayoutItem::hasHeightForWidth() const
Devuelve true si la altura preferida de este diseño depende de su anchura; en caso contrario, devuelve false. La implementación por defecto devuelve false.
Reimplemente esta función en los gestores de maquetación que soporten la altura para la anchura.
Véase también heightForWidth() y QWidget::heightForWidth().
[virtual] int QLayoutItem::heightForWidth(int) const
Devuelve la altura preferida para este elemento de diseño, dada la anchura, que no se utiliza en esta implementación por defecto.
La implementación por defecto devuelve -1, indicando que la altura preferida es independiente de la anchura del elemento. Utilizar la función hasHeightForWidth() suele ser mucho más rápido que llamar a esta función y comprobar si devuelve -1.
Reimplemente esta función en los gestores de diseño que soporten la altura para la anchura. Una implementación típica tendría este aspecto:
int MyLayout::heightForWidth(int w) const { if (cache_dirty || cached_width != w) { MyLayout *that = const_cast<MyLayout *>(this); int h = calculateHeightForWidth(w); that->cached_hfw = h; return h; } return cached_hfw; }
Se recomienda encarecidamente el almacenamiento en caché; sin él, la maquetación tardará un tiempo exponencial.
Véase también hasHeightForWidth().
[virtual] void QLayoutItem::invalidate()
Invalida cualquier información almacenada en caché en este elemento de diseño.
[pure virtual] bool QLayoutItem::isEmpty() const
Implementado en subclases para devolver si este elemento está vacío, es decir, si contiene algún widget.
[virtual] QLayout *QLayoutItem::layout()
Si este elemento es un QLayout, se devuelve como QLayout; en caso contrario se devuelve nullptr. Esta función proporciona un moldeado seguro.
Véase también spacerItem() y widget().
[pure virtual] QSize QLayoutItem::maximumSize() const
Implementado en subclases para devolver el tamaño máximo de este elemento.
[virtual] int QLayoutItem::minimumHeightForWidth(int w) const
Devuelve la altura mínima que este widget necesita para la anchura dada, w. La implementación por defecto simplemente devuelve heightForWidth(w).
[pure virtual] QSize QLayoutItem::minimumSize() const
Implementado en subclases para devolver el tamaño mínimo de este elemento.
void QLayoutItem::setAlignment(Qt::Alignment alignment)
Establece la alineación de este elemento en alignment.
Nota: La alineación de elementos sólo es soportada por las subclases de QLayoutItem donde tendría un efecto visual. Excepto QSpacerItem, que proporciona espacio en blanco para diseños, todas las clases Qt públicas que heredan de QLayoutItem soportan la alineación de elementos.
Véase también alignment().
[pure virtual] void QLayoutItem::setGeometry(const QRect &r)
Implementado en subclases para establecer la geometría de este elemento en r.
Véase también geometry().
[pure virtual] QSize QLayoutItem::sizeHint() const
Implementado en subclases para devolver el tamaño preferido de este elemento.
[virtual] QSpacerItem *QLayoutItem::spacerItem()
Si este elemento es un QSpacerItem, se devuelve como QSpacerItem; en caso contrario se devuelve nullptr. Esta función proporciona un moldeado seguro.
Véase también layout() y widget().
[virtual] QWidget *QLayoutItem::widget() const
Si este elemento gestiona un QWidget, devuelve ese widget. En caso contrario, devuelve nullptr.
Nota: Mientras que las funciones layout() y spacerItem() realizan castts, esta función devuelve otro objeto: QLayout y QSpacerItem heredan de QLayoutItem, mientras que QWidget no.
Véase también layout() y spacerItem().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.