Sur cette page

QGraphicsGridLayout Class

La classe QGraphicsGridLayout fournit une grille pour la gestion des widgets dans la vue graphique. Plus d'informations...

En-tête : #include <QGraphicsGridLayout>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Héritages : QGraphicsLayout

Fonctions publiques

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

Fonctions publiques réimplémentées

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

Description détaillée

La manière la plus courante d'utiliser QGraphicsGridLayout est de construire un objet sur le tas, en passant un widget parent au constructeur, puis d'ajouter des widgets et des dispositions en appelant addItem(). QGraphicsGridLayout calcule automatiquement les dimensions de la grille au fur et à mesure que vous ajoutez des éléments.

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

Si vous ne transmettez pas de widget parent au constructeur de la disposition, vous devrez appeler QGraphicsWidget::setLayout() pour définir cette disposition comme disposition de premier niveau pour ce widget, qui deviendra propriétaire de la disposition.

La disposition est propriétaire des éléments. Dans certains cas, lorsque l'élément de disposition hérite également de QGraphicsItem (comme QGraphicsWidget), il y aura une ambiguïté dans la propriété parce que l'élément de disposition appartient à deux hiérarchies de propriété. Voir la documentation de QGraphicsLayoutItem::setOwnedByLayout() pour savoir comment gérer ce problème. Vous pouvez accéder à chaque élément de la présentation en appelant count() et itemAt(). L'appel à removeAt() supprimera un élément de la présentation, sans le détruire.

Indications et politiques de taille dans QGraphicsGridLayout

QGraphicsGridLayout respecte les indications et les règles de taille de chaque élément. Lorsqu'une cellule de la grille contient plus d'espace que les éléments ne peuvent en remplir, chaque élément est disposé conformément à l'alignement de la disposition pour cet élément. Vous pouvez définir un alignement pour chaque élément en appelant setAlignment() et vérifier l'alignement de n'importe quel élément en appelant alignment(). Vous pouvez également définir l'alignement d'une ligne ou d'une colonne entière en appelant respectivement setRowAlignment() et setColumnAlignment(). Par défaut, les éléments sont alignés en haut à gauche.

Voir également QGraphicsLinearLayout et QGraphicsWidget.

Documentation des fonctions membres

QGraphicsGridLayout::QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr)

Construit une instance de QGraphicsGridLayout. parent est transmis au constructeur de QGraphicsLayout.

[virtual noexcept] QGraphicsGridLayout::~QGraphicsGridLayout()

Détruit l'objet QGraphicsGridLayout.

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

Ajoute item à la grille sur row et column. Vous pouvez spécifier un alignment optionnel pour item.

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

Ajoute item à la grille sur row et column. Vous pouvez spécifier rowSpan et columnSpan et une option alignment.

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

Renvoie l'alignement pour item.

Voir aussi setAlignment().

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

Renvoie l'alignement pour column.

Voir aussi setColumnAlignment().

int QGraphicsGridLayout::columnCount() const

Renvoie le nombre de colonnes de la grille. Ce nombre est toujours supérieur d'une unité à l'indice de la dernière colonne occupée par un élément de la grille (les colonnes vides sont comptées, à l'exception de celles situées à la fin).

qreal QGraphicsGridLayout::columnMaximumWidth(int column) const

Renvoie la largeur maximale pour column.

Voir aussi setColumnMaximumWidth().

qreal QGraphicsGridLayout::columnMinimumWidth(int column) const

Renvoie la largeur minimale pour column.

Voir aussi setColumnMinimumWidth().

qreal QGraphicsGridLayout::columnPreferredWidth(int column) const

Renvoie la largeur préférée pour column.

Voir aussi setColumnPreferredWidth().

qreal QGraphicsGridLayout::columnSpacing(int column) const

Renvoie l'espacement des colonnes pour column.

Voir aussi setColumnSpacing().

int QGraphicsGridLayout::columnStretchFactor(int column) const

Renvoie le facteur d'étirement pour column.

Voir aussi setColumnStretchFactor().

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

Réimplémente : QGraphicsLayout::count() const.

Renvoie le nombre d'éléments de cette grille.

qreal QGraphicsGridLayout::horizontalSpacing() const

Renvoie l'espacement horizontal par défaut de la grille.

Voir aussi setHorizontalSpacing().

[override virtual] void QGraphicsGridLayout::invalidate()

Réimplémente : QGraphicsLayout::invalidate().

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

Réimplémente : QGraphicsLayout::itemAt(int i) const.

Renvoie l'élément de structure à index, ou nullptr s'il n'y a pas d'élément de structure à cet index.

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

Renvoie un pointeur sur l'élément de mise en page situé à (row, column).

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

Réimplémente : QGraphicsLayout::removeAt(int index).

Supprime l'élément de mise en page à l'adresse index sans le détruire. La propriété de l'élément est transférée à l'appelant.

Voir également addItem().

void QGraphicsGridLayout::removeItem(QGraphicsLayoutItem *item)

Supprime l'élément de mise en page item sans le détruire. La propriété de l'élément est transférée à l'appelant.

Voir également addItem().

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

Renvoie l'alignement de row.

Voir aussi setRowAlignment().

int QGraphicsGridLayout::rowCount() const

Renvoie le nombre de lignes de la grille. Ce nombre est toujours supérieur d'une unité à l'indice de la dernière ligne occupée par un élément de la grille (les lignes vides sont comptées, à l'exception de celles situées à la fin).

qreal QGraphicsGridLayout::rowMaximumHeight(int row) const

Renvoie la hauteur maximale de la ligne, row.

Voir également setRowMaximumHeight().

qreal QGraphicsGridLayout::rowMinimumHeight(int row) const

Renvoie la hauteur minimale pour la ligne, row.

Voir également setRowMinimumHeight().

qreal QGraphicsGridLayout::rowPreferredHeight(int row) const

Renvoie la hauteur préférée pour la ligne, row.

Voir également setRowPreferredHeight().

qreal QGraphicsGridLayout::rowSpacing(int row) const

Renvoie l'espacement des lignes pour row.

Voir aussi setRowSpacing().

int QGraphicsGridLayout::rowStretchFactor(int row) const

Renvoie le facteur d'étirement pour row.

Voir aussi setRowStretchFactor().

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

Définit l'alignement de item sur alignment.

Voir aussi alignment().

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

Définit l'alignement de column sur alignment.

Voir aussi columnAlignment().

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

Définit la largeur fixe de column à width.

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

Définit la largeur maximale de column à width.

Voir aussi columnMaximumWidth().

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

Définit la largeur minimale de column à width.

Voir aussi columnMinimumWidth().

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

Définit la largeur préférée de column à width.

Voir aussi columnPreferredWidth().

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

Définit l'espacement entre column et spacing.

Voir aussi columnSpacing().

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

Définit le facteur d'étirement de column à stretch.

Voir aussi columnStretchFactor().

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

Réimplémente : QGraphicsLayoutItem::setGeometry(const QRectF &rect).

Définit la géométrie de délimitation de la grille à rect.

void QGraphicsGridLayout::setHorizontalSpacing(qreal spacing)

Définit l'espacement horizontal par défaut de la grille à spacing.

Voir aussi horizontalSpacing().

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

Définit l'alignement de row sur alignment.

Voir aussi rowAlignment().

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

Définit la hauteur fixe de la ligne, row, à height.

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

Fixe la hauteur maximale de la ligne row à height.

Voir aussi rowMaximumHeight().

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

Fixe la hauteur minimale de la ligne row à height.

Voir aussi rowMinimumHeight().

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

Fixe la hauteur préférée de la ligne row à height.

Voir aussi rowPreferredHeight().

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

Définit l'espacement entre row et spacing.

Voir aussi rowSpacing().

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

Définit le facteur d'étirement de row à stretch.

Voir aussi rowStretchFactor().

void QGraphicsGridLayout::setSpacing(qreal spacing)

Définit l'espacement par défaut de la grille, à la fois vertical et horizontal, à spacing.

Voir aussi rowSpacing() et columnSpacing().

void QGraphicsGridLayout::setVerticalSpacing(qreal spacing)

Définit l'espacement vertical par défaut de la grille à spacing.

Voir aussi verticalSpacing().

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

Réimplémente : QGraphicsLayoutItem::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const.

qreal QGraphicsGridLayout::verticalSpacing() const

Renvoie l'espacement vertical par défaut de la grille.

Voir aussi 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.