QGraphicsGridLayout Class
La classe `QGraphicsGridLayout` fournit une disposition en grille permettant de gérer les widgets dans la vue graphique. En savoir plus...
| En-tête : | #include <QGraphicsGridLayout> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Hérite de : | 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 consiste à créer un objet sur le tas, en passant un widget parent au constructeur, puis à 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);Sinon, 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 niveau supérieur pour ce widget ; le widget prendra alors possession de la disposition.
La disposition prend en charge la gestion 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 gestion car l’élément de disposition appartient à deux hiérarchies de gestion. Consultez la documentation de la fonction ` QGraphicsLayoutItem::setOwnedByLayout()` pour savoir comment gérer cette situation. Vous pouvez accéder à chaque élément de la disposition en appelant les fonctions ` count()` et ` itemAt()`. L’appel de la fonction ` removeAt()` supprime un élément de la disposition, sans le détruire.
Indications de taille et politiques de taille dans QGraphicsGridLayout
QGraphicsGridLayout respecte les indications de taille et les politiques de taille de chaque élément. Lorsqu’une cellule de la grille dispose de plus d’espace que ce que les éléments peuvent occuper, chaque élément est disposé selon l’alignement défini par la mise en page 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 sur les fonctions membres
QGraphicsGridLayout::QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr)
Crée une instance de `QGraphicsGridLayout`. L'objet ` parent ` est transmis au constructeur de ` QGraphicsLayout`.
[virtual noexcept] QGraphicsGridLayout::~QGraphicsGridLayout()
Supprime 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 indiquer un « alignment » facultatif 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 », ainsi qu’un « alignment » facultatif.
Qt::Alignment QGraphicsGridLayout::alignment(QGraphicsLayoutItem *item) const
Renvoie l'alignement de item.
Voir également setAlignment().
Qt::Alignment QGraphicsGridLayout::columnAlignment(int column) const
Renvoie l'alignement de column.
Voir aussi setColumnAlignment().
int QGraphicsGridLayout::columnCount() const
Renvoie le nombre de colonnes de la disposition en grille. Ce nombre est toujours supérieur d'une unité à l'index de la dernière colonne occupée par un élément de disposition (les colonnes vides sont comptabilisées, à l'exception de celles situées à la fin).
qreal QGraphicsGridLayout::columnMaximumWidth(int column) const
Renvoie la largeur maximale de column.
Voir aussi setColumnMaximumWidth().
qreal QGraphicsGridLayout::columnMinimumWidth(int column) const
Renvoie la largeur minimale de column.
Voir aussi setColumnMinimumWidth().
qreal QGraphicsGridLayout::columnPreferredWidth(int column) const
Renvoie la largeur recommandée pour column.
Voir aussi setColumnPreferredWidth().
qreal QGraphicsGridLayout::columnSpacing(int column) const
Renvoie l'espacement entre les 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 mise en page dans cette mise en page en grille.
qreal QGraphicsGridLayout::horizontalSpacing() const
Renvoie l'espacement horizontal par défaut pour la mise en page en grille.
Voir également setHorizontalSpacing().
[override virtual] void QGraphicsGridLayout::invalidate()
Réimplémente : QGraphicsLayout::invalidate().
[override virtual] QGraphicsLayoutItem *QGraphicsGridLayout::itemAt(int index) const
Réimplémentation de : QGraphicsLayout::itemAt(int i) const.
Renvoie l'élément de mise en page situé à l'adresse index, ou nullptr s'il n'y a pas d'élément de mise en page à cet index.
QGraphicsLayoutItem *QGraphicsGridLayout::itemAt(int row, int column) const
Renvoie un pointeur vers l'élément de mise en page situé à l'adresse (row, column).
[override virtual] void QGraphicsGridLayout::removeAt(int index)
Réimplémente : QGraphicsLayout::removeAt(int index).
Supprime l'élément de mise en page situé à 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 mise en page en grille. Ce nombre est toujours supérieur d'une unité à l'index de la dernière ligne occupée par un élément de mise en page (les lignes vides sont prises en compte, à l'exception de celles situées à la fin).
qreal QGraphicsGridLayout::rowMaximumHeight(int row) const
Renvoie la hauteur maximale de la ligne, row.
Voir aussi setRowMaximumHeight().
qreal QGraphicsGridLayout::rowMinimumHeight(int row) const
Renvoie la hauteur minimale de la ligne « row ».
Voir également setRowMinimumHeight().
qreal QGraphicsGridLayout::rowPreferredHeight(int row) const
Renvoie la hauteur préférée pour la ligne, row.
Voir aussi setRowPreferredHeight().
qreal QGraphicsGridLayout::rowSpacing(int row) const
Renvoie l'espacement entre les lignes pour row.
Voir aussi setRowSpacing().
int QGraphicsGridLayout::rowStretchFactor(int row) const
Renvoie le facteur d'étirement de la fonction « row ».
Voir aussi setRowStretchFactor().
void QGraphicsGridLayout::setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)
Définit l'alignement de item sur alignment.
Voir également alignment().
void QGraphicsGridLayout::setColumnAlignment(int column, Qt::Alignment alignment)
Définit l'alignement de column sur alignment.
Voir également columnAlignment().
void QGraphicsGridLayout::setColumnFixedWidth(int column, qreal width)
Définit la largeur fixe de column sur width.
void QGraphicsGridLayout::setColumnMaximumWidth(int column, qreal width)
Définit la largeur maximale de column sur width.
Voir également columnMaximumWidth().
void QGraphicsGridLayout::setColumnMinimumWidth(int column, qreal width)
Définit la largeur minimale de column à width.
Voir également columnMinimumWidth().
void QGraphicsGridLayout::setColumnPreferredWidth(int column, qreal width)
Définit la largeur préférée de column sur width.
Voir également columnPreferredWidth().
void QGraphicsGridLayout::setColumnSpacing(int column, qreal spacing)
Définit l'espacement de column sur spacing.
Voir également columnSpacing().
void QGraphicsGridLayout::setColumnStretchFactor(int column, int stretch)
Définit le facteur d'étirement de column sur stretch.
Voir également 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 mise en page en grille sur rect.
void QGraphicsGridLayout::setHorizontalSpacing(qreal spacing)
Définit l'espacement horizontal par défaut de la mise en page en grille sur spacing.
Voir également horizontalSpacing().
void QGraphicsGridLayout::setRowAlignment(int row, Qt::Alignment alignment)
Définit l'alignement de row sur alignment.
Voir également rowAlignment().
void QGraphicsGridLayout::setRowFixedHeight(int row, qreal height)
Définit la hauteur fixe de la ligne « row » sur « height ».
void QGraphicsGridLayout::setRowMaximumHeight(int row, qreal height)
Définit la hauteur maximale de la ligne, row, sur height.
Voir également rowMaximumHeight().
void QGraphicsGridLayout::setRowMinimumHeight(int row, qreal height)
Définit la hauteur minimale de la ligne, row, sur height.
Voir également la fonction ` rowMinimumHeight()`.
void QGraphicsGridLayout::setRowPreferredHeight(int row, qreal height)
Définit la hauteur préférée de la ligne « row » sur « height ».
Voir également rowPreferredHeight().
void QGraphicsGridLayout::setRowSpacing(int row, qreal spacing)
Définit l'espacement de « row » à « spacing ».
Voir également rowSpacing().
void QGraphicsGridLayout::setRowStretchFactor(int row, int stretch)
Définit le facteur d'étirement de row à stretch.
Voir également rowStretchFactor().
void QGraphicsGridLayout::setSpacing(qreal spacing)
Définit l'espacement par défaut de la mise en page en grille, tant vertical qu'horizontal, sur spacing.
Voir également rowSpacing() et columnSpacing().
void QGraphicsGridLayout::setVerticalSpacing(qreal spacing)
Définit l'espacement vertical par défaut de la mise en page en grille sur spacing.
Voir également ` 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 mise en page en grille.
Voir également 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.