En esta página

QGraphicsGridLayout Class

La clase QGraphicsGridLayout proporciona un diseño de rejilla para la gestión de widgets en la Vista Gráfica. Más...

Cabecera: #include <QGraphicsGridLayout>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Hereda: QGraphicsLayout

Funciones Públicas

QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr)
virtual ~QGraphicsGridLayout()
void addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment())
void addItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = Qt::Alignment())
Qt::Alignment alignment(QGraphicsLayoutItem *item) const
Qt::Alignment columnAlignment(int column) const
int columnCount() const
qreal columnMaximumWidth(int column) const
qreal columnMinimumWidth(int column) const
qreal columnPreferredWidth(int column) const
qreal columnSpacing(int column) const
int columnStretchFactor(int column) const
qreal horizontalSpacing() const
QGraphicsLayoutItem *itemAt(int row, int column) const
void removeItem(QGraphicsLayoutItem *item)
Qt::Alignment rowAlignment(int row) const
int rowCount() const
qreal rowMaximumHeight(int row) const
qreal rowMinimumHeight(int row) const
qreal rowPreferredHeight(int row) const
qreal rowSpacing(int row) const
int rowStretchFactor(int row) const
void setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)
void setColumnAlignment(int column, Qt::Alignment alignment)
void setColumnFixedWidth(int column, qreal width)
void setColumnMaximumWidth(int column, qreal width)
void setColumnMinimumWidth(int column, qreal width)
void setColumnPreferredWidth(int column, qreal width)
void setColumnSpacing(int column, qreal spacing)
void setColumnStretchFactor(int column, int stretch)
void setHorizontalSpacing(qreal spacing)
void setRowAlignment(int row, Qt::Alignment alignment)
void setRowFixedHeight(int row, qreal height)
void setRowMaximumHeight(int row, qreal height)
void setRowMinimumHeight(int row, qreal height)
void setRowPreferredHeight(int row, qreal height)
void setRowSpacing(int row, qreal spacing)
void setRowStretchFactor(int row, int stretch)
void setSpacing(qreal spacing)
void setVerticalSpacing(qreal spacing)
qreal verticalSpacing() const

Funciones públicas reimplementadas

virtual int count() const override
virtual void invalidate() override
virtual QGraphicsLayoutItem *itemAt(int index) const override
virtual void removeAt(int index) override
virtual void setGeometry(const QRectF &rect) override
virtual QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override

Descripción Detallada

La forma más común de usar QGraphicsGridLayout es construir un objeto en el montón, pasando un widget padre al constructor, luego añadir widgets y layouts llamando a addItem(). QGraphicsGridLayout calcula automáticamente las dimensiones de la rejilla a medida que añades elementos.

QGraphicsScene scene;
QGraphicsWidget *textEdit = scene.addWidget(new QTextEdit);
QGraphicsWidget *pushButton = scene.addWidget(new QPushButton);

QGraphicsWidget *form = new QGraphicsWidget;
scene.addItem(form);

QGraphicsGridLayout *layout = new QGraphicsGridLayout(form);
layout->addItem(textEdit, 0, 0);
layout->addItem(pushButton, 0, 1);

Alternativamente, si no pasas un widget padre al constructor del layout, necesitarás llamar a QGraphicsWidget::setLayout() para establecer este layout como el layout de nivel superior para ese widget, el widget tomará la propiedad del layout.

El diseño se apropia de los elementos. En algunos casos, cuando el elemento de diseño también hereda de QGraphicsItem (como QGraphicsWidget) habrá una ambigüedad en la propiedad porque el elemento de diseño pertenece a dos jerarquías de propiedad. Consulte la documentación de QGraphicsLayoutItem::setOwnedByLayout() para saber cómo manejar esta situación. Puede acceder a cada elemento de la presentación llamando a count() y itemAt(). Llamando a removeAt() se eliminará un elemento de la presentación, sin destruirlo.

Sugerencias y Políticas de Tamaño en QGraphicsGridLayout

QGraphicsGridLayout respeta las sugerencias y políticas de tamaño de cada ítem, y cuando una celda de la grilla tiene más espacio del que los ítems pueden ocupar, cada ítem es ordenado de acuerdo a la alineación del layout para ese ítem. Puede establecer una alineación para cada elemento llamando a setAlignment(), y comprobar la alineación de cualquier elemento llamando a alignment(). También puede definir la alineación de toda una fila o columna llamando a setRowAlignment() y setColumnAlignment() respectivamente. Por defecto, los elementos se alinean arriba a la izquierda.

Véase también QGraphicsLinearLayout y QGraphicsWidget.

Documentación de las funciones miembro

QGraphicsGridLayout::QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr)

Construye una instancia de QGraphicsGridLayout. parent se pasa al constructor de QGraphicsLayout.

[virtual noexcept] QGraphicsGridLayout::~QGraphicsGridLayout()

Destruye el objeto QGraphicsGridLayout.

void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment())

Añade item a la cuadrícula en row y column. Puede especificar un alignment opcional para item.

void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = Qt::Alignment())

Añade item a la cuadrícula en row y column. Puede especificar un rowSpan y columnSpan y un alignment opcional .

Qt::Alignment QGraphicsGridLayout::alignment(QGraphicsLayoutItem *item) const

Devuelve la alineación de item.

Véase también setAlignment().

Qt::Alignment QGraphicsGridLayout::columnAlignment(int column) const

Devuelve la alineación de column.

Véase también setColumnAlignment().

int QGraphicsGridLayout::columnCount() const

Devuelve el número de columnas de la rejilla. Éste es siempre uno más que el índice de la última columna que está ocupada por un elemento de la disposición (las columnas vacías se cuentan excepto las del final).

qreal QGraphicsGridLayout::columnMaximumWidth(int column) const

Devuelve la anchura máxima de column.

Véase también setColumnMaximumWidth().

qreal QGraphicsGridLayout::columnMinimumWidth(int column) const

Devuelve la anchura mínima para column.

Véase también setColumnMinimumWidth().

qreal QGraphicsGridLayout::columnPreferredWidth(int column) const

Devuelve la anchura preferida para column.

Véase también setColumnPreferredWidth().

qreal QGraphicsGridLayout::columnSpacing(int column) const

Devuelve el espaciado entre columnas de column.

Véase también setColumnSpacing().

int QGraphicsGridLayout::columnStretchFactor(int column) const

Devuelve el factor de estiramiento de column.

Véase también setColumnStretchFactor().

[override virtual] int QGraphicsGridLayout::count() const

Reimplementa: QGraphicsLayout::count() const.

Devuelve el número de elementos de diseño en este diseño de cuadrícula.

qreal QGraphicsGridLayout::horizontalSpacing() const

Devuelve el espaciado horizontal por defecto para el diseño de la rejilla.

Véase también setHorizontalSpacing().

[override virtual] void QGraphicsGridLayout::invalidate()

Reimplementa: QGraphicsLayout::invalidate().

[override virtual] QGraphicsLayoutItem *QGraphicsGridLayout::itemAt(int index) const

Reimplementa: QGraphicsLayout::itemAt(int i) const.

Devuelve el elemento de diseño en index, o nullptr si no hay ningún elemento de diseño en este índice.

QGraphicsLayoutItem *QGraphicsGridLayout::itemAt(int row, int column) const

Devuelve un puntero al elemento de diseño en (row, column).

[override virtual] void QGraphicsGridLayout::removeAt(int index)

Reimplementa: QGraphicsLayout::removeAt(int índice).

Elimina el elemento de diseño en index sin destruirlo. La propiedad del elemento se transfiere a quien lo llama.

Véase también addItem().

void QGraphicsGridLayout::removeItem(QGraphicsLayoutItem *item)

Elimina el elemento de diseño item sin destruirlo. La propiedad del elemento se transfiere a quien lo llama.

Véase también addItem().

Qt::Alignment QGraphicsGridLayout::rowAlignment(int row) const

Devuelve la alineación de row.

Véase también setRowAlignment().

int QGraphicsGridLayout::rowCount() const

Devuelve el número de filas de la rejilla. Éste es siempre uno más que el índice de la última fila que está ocupada por un elemento de la disposición (las filas vacías se cuentan excepto las del final).

qreal QGraphicsGridLayout::rowMaximumHeight(int row) const

Devuelve la altura máxima de la fila, row.

Véase también setRowMaximumHeight().

qreal QGraphicsGridLayout::rowMinimumHeight(int row) const

Devuelve la altura mínima de la fila, row.

Véase también setRowMinimumHeight().

qreal QGraphicsGridLayout::rowPreferredHeight(int row) const

Devuelve la altura preferida para la fila, row.

Véase también setRowPreferredHeight().

qreal QGraphicsGridLayout::rowSpacing(int row) const

Devuelve el espacio entre filas de row.

Véase también setRowSpacing().

int QGraphicsGridLayout::rowStretchFactor(int row) const

Devuelve el factor de estiramiento de row.

Véase también setRowStretchFactor().

void QGraphicsGridLayout::setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)

Ajusta la alineación de item a alignment.

Véase también alignment().

void QGraphicsGridLayout::setColumnAlignment(int column, Qt::Alignment alignment)

Ajusta la alineación de column a alignment.

Véase también columnAlignment().

void QGraphicsGridLayout::setColumnFixedWidth(int column, qreal width)

Establece la anchura fija de column en width.

void QGraphicsGridLayout::setColumnMaximumWidth(int column, qreal width)

Establece la anchura máxima de column en width.

Véase también columnMaximumWidth().

void QGraphicsGridLayout::setColumnMinimumWidth(int column, qreal width)

Establece la anchura mínima de column en width.

Véase también columnMinimumWidth().

void QGraphicsGridLayout::setColumnPreferredWidth(int column, qreal width)

Establece el ancho preferido para column en width.

Véase también columnPreferredWidth().

void QGraphicsGridLayout::setColumnSpacing(int column, qreal spacing)

Establece el espaciado de column en spacing.

Véase también columnSpacing().

void QGraphicsGridLayout::setColumnStretchFactor(int column, int stretch)

Establece el factor de estiramiento de column en stretch.

Véase también columnStretchFactor().

[override virtual] void QGraphicsGridLayout::setGeometry(const QRectF &rect)

Reimplementa: QGraphicsLayoutItem::setGeometry(const QRectF &rect).

Establece la geometría límite del diseño de la cuadrícula en rect.

void QGraphicsGridLayout::setHorizontalSpacing(qreal spacing)

Establece el espaciado horizontal por defecto para el diseño de la rejilla en spacing.

Véase también horizontalSpacing().

void QGraphicsGridLayout::setRowAlignment(int row, Qt::Alignment alignment)

Establece la alineación de row con alignment.

Véase también rowAlignment().

void QGraphicsGridLayout::setRowFixedHeight(int row, qreal height)

Establece la altura fija de la fila, row, en height.

void QGraphicsGridLayout::setRowMaximumHeight(int row, qreal height)

Establece la altura máxima de la fila, row, en height.

Véase también rowMaximumHeight().

void QGraphicsGridLayout::setRowMinimumHeight(int row, qreal height)

Establece la altura mínima de la fila, row, en height.

Véase también rowMinimumHeight().

void QGraphicsGridLayout::setRowPreferredHeight(int row, qreal height)

Establece la altura preferida para la fila, row, en height.

Véase también rowPreferredHeight().

void QGraphicsGridLayout::setRowSpacing(int row, qreal spacing)

Establece el espaciado de row en spacing.

Véase también rowSpacing().

void QGraphicsGridLayout::setRowStretchFactor(int row, int stretch)

Establece el factor de estiramiento de row en stretch.

Véase también rowStretchFactor().

void QGraphicsGridLayout::setSpacing(qreal spacing)

Establece el espaciado por defecto de la cuadrícula, tanto vertical como horizontal, en spacing.

Véase también rowSpacing() y columnSpacing().

void QGraphicsGridLayout::setVerticalSpacing(qreal spacing)

Establece el espaciado vertical por defecto para el diseño de la rejilla en spacing.

Véase también verticalSpacing().

[override virtual] QSizeF QGraphicsGridLayout::sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const

Reimplementa: QGraphicsLayoutItem::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const.

qreal QGraphicsGridLayout::verticalSpacing() const

Devuelve el espaciado vertical por defecto para el diseño de la rejilla.

Véase también setVerticalSpacing().

© 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.