QLayoutItem Class
La classe QLayoutItem fournit un élément abstrait qu'un site QLayout peut manipuler. Plus d'informations...
| En-tête : | #include <QLayoutItem> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Héritée par : |
Fonctions publiques
| 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 |
Description détaillée
Cette fonction est utilisée pour les mises en page personnalisées.
Des fonctions virtuelles pures sont fournies pour renvoyer des informations sur la disposition, notamment sizeHint(), minimumSize(), maximumSize() et expandingDirections().
La géométrie de la disposition peut être définie et récupérée avec setGeometry() et geometry(), et son alignement avec setAlignment() et alignment().
isEmpty() renvoie si l'élément de mise en page est vide. Si l'élément concret est un QWidget, il peut être récupéré à l'aide de widget(). Il en va de même pour layout() et spacerItem().
Certaines mises en page ont des interdépendances en termes de largeur et de hauteur. Celles-ci peuvent être exprimées à l'aide de hasHeightForWidth(), heightForWidth() et minimumHeightForWidth(). Pour plus d'explications, voir l'article de Qt Quarterly Trading Height for Width.
Voir également QLayout.
Documentation sur les fonctions membres
[explicit] QLayoutItem::QLayoutItem(Qt::Alignment alignment = Qt::Alignment())
Construit un élément de mise en page avec un alignment. Toutes les sous-classes ne prennent pas en charge l'alignement.
[virtual noexcept] QLayoutItem::~QLayoutItem()
Détruit le site QLayoutItem.
Qt::Alignment QLayoutItem::alignment() const
Renvoie l'alignement de cet élément.
Voir également setAlignment().
[virtual] QSizePolicy::ControlTypes QLayoutItem::controlTypes() const
Renvoie le(s) type(s) de contrôle pour l'élément de mise en page. Pour un QWidgetItem, le type de contrôle provient de la politique de taille du widget ; pour un QLayoutItem, le type de contrôle est dérivé du contenu de la disposition.
Voir également QSizePolicy::controlType().
[pure virtual] Qt::Orientations QLayoutItem::expandingDirections() const
Renvoie si cet élément de mise en page peut utiliser plus d'espace que sizeHint(). Une valeur de Qt::Vertical ou Qt::Horizontal signifie qu'il veut s'agrandir dans une seule dimension, tandis que Qt::Vertical | Qt::Horizontal signifie qu'il veut s'agrandir dans les deux dimensions.
[pure virtual] QRect QLayoutItem::geometry() const
Renvoie le rectangle couvert par cet élément de mise en page.
Voir également setGeometry().
[virtual] bool QLayoutItem::hasHeightForWidth() const
Renvoie true si la hauteur préférée de cette disposition dépend de sa largeur ; sinon, renvoie false. L'implémentation par défaut renvoie false.
Réimplémentez cette fonction dans les gestionnaires de mise en page qui prennent en charge la hauteur en fonction de la largeur.
Voir aussi heightForWidth() et QWidget::heightForWidth().
[virtual] int QLayoutItem::heightForWidth(int) const
Renvoie la hauteur préférée pour cet élément de mise en page, compte tenu de la largeur, qui n'est pas utilisée dans cette implémentation par défaut.
L'implémentation par défaut renvoie -1, ce qui indique que la hauteur préférée est indépendante de la largeur de l'élément. L'utilisation de la fonction hasHeightForWidth() est généralement beaucoup plus rapide que l'appel à cette fonction et le test de -1.
Réimplémentez cette fonction dans les gestionnaires de mise en page qui prennent en charge la hauteur pour la largeur. Une implémentation typique ressemble à ceci :
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; }
La mise en cache est fortement recommandée ; sans elle, la mise en page prendra un temps exponentiel.
Voir également hasHeightForWidth().
[virtual] void QLayoutItem::invalidate()
Invalide toute information mise en cache dans cet élément de mise en page.
[pure virtual] bool QLayoutItem::isEmpty() const
Implémenté dans les sous-classes pour indiquer si cet élément est vide, c'est-à-dire s'il contient des widgets.
[virtual] QLayout *QLayoutItem::layout()
Si cet élément est un QLayout, il est renvoyé sous la forme d'un QLayout; sinon, il est renvoyé sous la forme d'un nullptr. Cette fonction permet une distribution sûre des types.
Voir aussi spacerItem() et widget().
[pure virtual] QSize QLayoutItem::maximumSize() const
Implémenté dans les sous-classes pour renvoyer la taille maximale de cet élément.
[virtual] int QLayoutItem::minimumHeightForWidth(int w) const
Renvoie la hauteur minimale dont ce widget a besoin pour la largeur donnée, w. L'implémentation par défaut renvoie simplement heightForWidth(w).
[pure virtual] QSize QLayoutItem::minimumSize() const
Implémenté dans les sous-classes pour renvoyer la taille minimale de cet élément.
void QLayoutItem::setAlignment(Qt::Alignment alignment)
Définit l'alignement de cet élément sur alignment.
Remarque : l'alignement des éléments n'est pris en charge que par les sous-classes QLayoutItem lorsqu'il a un effet visuel. À l'exception de QSpacerItem, qui fournit un espace vide pour les mises en page, toutes les classes Qt XML publiques qui héritent de QLayoutItem prennent en charge l'alignement des éléments.
Voir aussi alignment().
[pure virtual] void QLayoutItem::setGeometry(const QRect &r)
Implémenté dans les sous-classes pour définir la géométrie de cet élément à r.
Voir aussi geometry().
[pure virtual] QSize QLayoutItem::sizeHint() const
Implémenté dans les sous-classes pour renvoyer la taille préférée de cet objet.
[virtual] QSpacerItem *QLayoutItem::spacerItem()
Si cet élément est un QSpacerItem, il est renvoyé sous la forme d'un QSpacerItem; sinon, il est renvoyé sous la forme d'un nullptr. Cette fonction permet une distribution sûre des types.
Voir aussi layout() et widget().
[virtual] QWidget *QLayoutItem::widget() const
Si cet élément gère un QWidget, il renvoie ce widget. Sinon, c'est nullptr qui est renvoyé.
Remarque : alors que les fonctions layout() et spacerItem() effectuent des fusions, cette fonction renvoie un autre objet : QLayout et QSpacerItem héritent de QLayoutItem, alors que QWidget n'en hérite pas.
Voir également layout() et 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.