Auf dieser Seite

QLayout Class

Die Klasse „QLayout“ ist die Basisklasse für Geometrie-Manager. Mehr...

Kopfzeile: #include <QLayout>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt von:QObject und QLayoutItem
Vererbt an:

QBoxLayout, „ QFormLayout “, „ QGridLayout “ sowie QStackedLayout

Öffentliche Typen

enum SizeConstraint { SetDefaultConstraint, SetFixedSize, SetMinimumSize, SetMaximumSize, SetMinAndMaxSize, SetNoConstraint }

Eigenschaften

Öffentliche Funktionen

QLayout(QWidget *parent = nullptr)
bool activate()
virtual void addItem(QLayoutItem *item) = 0
void addWidget(QWidget *w)
QMargins contentsMargins() const
QRect contentsRect() const
virtual int count() const = 0
void getContentsMargins(int *left, int *top, int *right, int *bottom) const
QLayout::SizeConstraint horizontalSizeConstraint() const
virtual int indexOf(const QLayoutItem *layoutItem) const
virtual int indexOf(const QWidget *widget) const
bool isEnabled() const
virtual QLayoutItem *itemAt(int index) const = 0
QWidget *menuBar() const
QWidget *parentWidget() const
void removeItem(QLayoutItem *item)
void removeWidget(QWidget *widget)
virtual QLayoutItem *replaceWidget(QWidget *from, QWidget *to, Qt::FindChildOptions options = Qt::FindChildrenRecursively)
bool setAlignment(QWidget *w, Qt::Alignment alignment)
bool setAlignment(QLayout *l, Qt::Alignment alignment)
void setContentsMargins(const QMargins &margins)
void setContentsMargins(int left, int top, int right, int bottom)
void setEnabled(bool enable)
void setHorizontalSizeConstraint(QLayout::SizeConstraint constraint)
void setMenuBar(QWidget *widget)
void setSizeConstraint(QLayout::SizeConstraint constraint)
(since 6.10) void setSizeConstraints(QLayout::SizeConstraint horizontal, QLayout::SizeConstraint vertical)
virtual void setSpacing(int)
void setVerticalSizeConstraint(QLayout::SizeConstraint constraint)
QLayout::SizeConstraint sizeConstraint() const
virtual int spacing() const
virtual QLayoutItem *takeAt(int index) = 0
(since 6.1) void unsetContentsMargins()
void update()
QLayout::SizeConstraint verticalSizeConstraint() const

Neu implementierte öffentliche Funktionen

virtual QSizePolicy::ControlTypes controlTypes() const override
virtual Qt::Orientations expandingDirections() const override
virtual QRect geometry() const override
virtual void invalidate() override
virtual bool isEmpty() const override
virtual QLayout *layout() override
virtual QSize maximumSize() const override
virtual QSize minimumSize() const override
virtual void setGeometry(const QRect &r) override

Statische öffentliche Mitglieder

QSize closestAcceptableSize(const QWidget *widget, const QSize &size)

Geschützte Funktionen

void addChildLayout(QLayout *childLayout)
void addChildWidget(QWidget *w)
QRect alignmentRect(const QRect &r) const

Neu implementierte geschützte Funktionen

virtual void childEvent(QChildEvent *e) override

Ausführliche Beschreibung

Dies ist eine abstrakte Basisklasse, von der die konkreten Klassen „ QBoxLayout “, „ QGridLayout “, „ QFormLayout “ und „ QStackedLayout “ erben.

Für Nutzer von QLayout-Unterklassen oder von ` QMainWindow ` besteht selten die Notwendigkeit, die von QLayout bereitgestellten Grundfunktionen wie ` setSizeConstraint()` oder ` setMenuBar()` zu verwenden. Weitere Informationen finden Sie unter „Layout-Verwaltung “.

Um einen eigenen Layout-Manager zu erstellen, implementieren Sie die Funktionen ` addItem()`, ` sizeHint()`, ` setGeometry()`, ` itemAt()` und ` takeAt()`. Sie sollten außerdem ` minimumSize()` implementieren, um sicherzustellen, dass Ihr Layout nicht auf die Größe Null verkleinert wird, wenn zu wenig Platz vorhanden ist. Um untergeordnete Elemente zu unterstützen, deren Höhe von ihrer Breite abhängt, implementieren Sie ` hasHeightForWidth()` und ` heightForWidth()`. Weitere Informationen zur Implementierung benutzerdefinierter Layout-Manager finden Sie im Beispiel „Flow Layout “.

Die Geometrieverwaltung wird beendet, wenn der Layout-Manager gelöscht wird.

Siehe auch „ QLayoutItem“ , „Layout-Verwaltung“, „Beispiel für grundlegende Layouts“ und „Beispiel für ein Flow-Layout“.

Dokumentation zu Mitgliedstypen

enum QLayout::SizeConstraint

Beschreibt, wie das Layout die Größe des Widgets begrenzt.

Eine vertikale Beschränkung wirkt sich auf die Höhe des Widgets aus, während eine horizontale Beschränkung dessen Breite beeinflusst.

Die möglichen Werte sind:

KonstantWertBeschreibung
QLayout::SetDefaultConstraint0In der/den eingeschränkten Ausrichtung(en) wird die minimale Ausdehnung des Widgets auf ` minimumSize()` gesetzt, sofern nicht bereits eine Mindestgröße festgelegt wurde.
QLayout::SetFixedSize3In der/den eingeschränkten Ausrichtung(en) wird die Ausdehnung des Widgets auf ` sizeHint()` gesetzt, und es kann in dieser Richtung nicht in der Größe verändert werden.
QLayout::SetMinimumSize2In den eingeschränkten Ausrichtungen wird die minimale Ausdehnung des Widgets auf ` minimumSize()` gesetzt.
QLayout::SetMaximumSize4In den eingeschränkten Ausrichtungen wird die maximale Ausdehnung des Widgets auf „ maximumSize “ () festgelegt.
QLayout::SetMinAndMaxSize5In der/den eingeschränkten Ausrichtung(en) wird die minimale Ausdehnung des Widgets auf „ minimumSize “ () gesetzt, und die maximale Ausdehnung auf „ maximumSize “ ().
QLayout::SetNoConstraint1Es werden keine Größenbeschränkungen auf das Widget angewendet.

Siehe auch setSizeConstraint(), setSizeConstraints(), horizontalSizeConstraint(), setHorizontalSizeConstraint() und setVerticalSizeConstraint().

Dokumentation zu den Eigenschaften

contentsMargins : QMargins

Diese Eigenschaft legt die Ränder fest, die rund um das Layout verwendet werden

Standardmäßig verwendet „ QLayout “ die vom Stil vorgegebenen Werte. Auf den meisten Plattformen beträgt der Rand in alle Richtungen 11 Pixel.

Zugriffsfunktionen:

QMargins contentsMargins() const
void setContentsMargins(int left, int top, int right, int bottom)
void setContentsMargins(const QMargins &margins)
void unsetContentsMargins()

Siehe auch „ setContentsMargins()“ und „ getContentsMargins()“.

[since 6.10] horizontalSizeConstraint : SizeConstraint

Diese Eigenschaft legt die horizontale Größenbeschränkung fest.

Der Standardmodus ist QLayout::SetDefaultConstraint

Diese Aufzählung wurde in Qt 6.10 eingeführt.

Zugriffsfunktionen:

QLayout::SizeConstraint horizontalSizeConstraint() const
void setHorizontalSizeConstraint(QLayout::SizeConstraint constraint)

Siehe auch „ verticalSizeConstraint()“ und „ sizeConstraint()“.

sizeConstraint : SizeConstraint

Diese Eigenschaft gibt den Größenanpassungsmodus des Layouts an. Hiermit wird die Größenbeschränkung für das Dialogfeld festgelegt. Die Festlegung einer vertikalen oder horizontalen Größenbeschränkung hat Vorrang vor dieser Einstellung.

Der Standardmodus ist „ SetDefaultConstraint “.

Zugriffsfunktionen:

QLayout::SizeConstraint sizeConstraint() const
void setSizeConstraint(QLayout::SizeConstraint constraint)

Siehe auch „ horizontalSizeConstraint()“ und „ verticalSizeConstraint()“.

spacing : int

Diese Eigenschaft legt den Abstand zwischen den Widgets innerhalb des Layouts fest

Wenn kein Wert explizit festgelegt wird, werden die Abstände des Layouts vom übergeordneten Layout oder aus den Stileinstellungen des übergeordneten Widgets übernommen.

Bei „ QGridLayout “ und „ QFormLayout “ ist es möglich, mithilfe von „ setHorizontalSpacing()“ und „ setVerticalSpacing()“ unterschiedliche horizontale und vertikale Abstände festzulegen. In diesem Fall gibt „spacing()“ den Wert -1 zurück.

Zugriffsfunktionen:

virtual int spacing() const
virtual void setSpacing(int)

Siehe auch contentsRect(), getContentsMargins(), QStyle::layoutSpacing() und QStyle::pixelMetric().

[since 6.10] verticalSizeConstraint : SizeConstraint

Diese Eigenschaft legt die vertikale Größenbeschränkung fest.

Der Standardmodus ist QLayout::SetDefaultConstraint

Diese Aufzählung wurde in Qt 6.10 eingeführt.

Zugriffsfunktionen:

QLayout::SizeConstraint verticalSizeConstraint() const
void setVerticalSizeConstraint(QLayout::SizeConstraint constraint)

Siehe auch horizontalSizeConstraint() und sizeConstraint().

Dokumentation der Mitgliedsfunktionen

[explicit] QLayout::QLayout(QWidget *parent = nullptr)

Erstellt ein neues QLayout der obersten Ebene mit dem übergeordneten parent.

Das Layout wird direkt als oberstes Layout für ` parent` festgelegt. Für ein Widget kann es nur ein oberstes Layout geben. Es wird von ` QWidget::layout()` zurückgegeben.

Wenn ` parent ` gleich ` nullptr` ist, müssen Sie dieses Layout in ein anderes Layout einfügen oder es mithilfe von ` QWidget::setLayout()` als Layout eines Widgets festlegen.

Siehe auch ` QWidget::setLayout()`.

bool QLayout::activate()

Führt bei Bedarf eine Neugestaltung des Layouts für parentWidget() durch.

In der Regel sollten Sie diese Funktion nicht aufrufen müssen, da sie automatisch zum geeigneten Zeitpunkt aufgerufen wird. Sie gibt „true“ zurück, wenn das Layout neu erstellt wurde.

Siehe auch „ update()“ und „ QWidget::updateGeometry()“.

[protected] void QLayout::addChildLayout(QLayout *childLayout)

Diese Funktion wird in Unterklassen aus den Funktionen „ addLayout() “ oder „ insertLayout() “ aufgerufen, um das Layout „ childLayout “ als Unterlayout hinzuzufügen.

Der einzige Fall, in dem Sie sie direkt aufrufen müssen, ist die Implementierung eines benutzerdefinierten Layouts, das verschachtelte Layouts unterstützt.

Siehe auch ` QBoxLayout::addLayout()`, ` QBoxLayout::insertLayout()` und ` QGridLayout::addLayout()`.

[protected] void QLayout::addChildWidget(QWidget *w)

Diese Funktion wird von den Funktionen „ addWidget() “ in Unterklassen aufgerufen, um „ w “ als verwaltetes Widget eines Layouts hinzuzufügen.

Wenn w bereits von einem Layout verwaltet wird, gibt diese Funktion eine Warnung aus und entfernt w aus diesem Layout. Diese Funktion muss daher aufgerufen werden, bevor w zur Datenstruktur des Layouts hinzugefügt wird.

[pure virtual] void QLayout::addItem(QLayoutItem *item)

Wird in Unterklassen implementiert, um ein „ item “ hinzuzufügen. Wie dies geschieht, ist für jede Unterklasse spezifisch.

Diese Funktion wird im Anwendungscode normalerweise nicht aufgerufen. Um ein Widget zu einem Layout hinzuzufügen, verwenden Sie die Funktion ` addWidget()`; um ein untergeordnetes Layout hinzuzufügen, verwenden Sie die Funktion `addLayout()`, die von der entsprechenden Unterklasse von ` QLayout ` bereitgestellt wird.

Hinweis: Die Eigentumsrechte an ` item ` werden auf das Layout übertragen, und es liegt in der Verantwortung des Layouts, es zu löschen.

Siehe auch addWidget(), QBoxLayout::addLayout() und QGridLayout::addLayout().

void QLayout::addWidget(QWidget *w)

Fügt das Widget „ w “ auf eine für dieses Layout spezifische Weise zu diesem Layout hinzu. Diese Funktion verwendet „ addItem()“.

[protected] QRect QLayout::alignmentRect(const QRect &r) const

Gibt das Rechteck zurück, das abgedeckt werden soll, wenn die Geometrie dieses Layouts auf „ r “ gesetzt ist, vorausgesetzt, dieses Layout unterstützt „ setAlignment()“.

Das Ergebnis wird aus ` sizeHint()` und ` expandingDirections()` abgeleitet. Es ist niemals größer als ` r`.

[override virtual protected] void QLayout::childEvent(QChildEvent *e)

Implementiert: ` QObject::childEvent(QChildEvent *event)`.

[static] QSize QLayout::closestAcceptableSize(const QWidget *widget, const QSize &size)

Gibt eine Größe zurück, die alle Größenbeschränkungen unter widget erfüllt, einschließlich heightForWidth(), und die so nah wie möglich an size liegt.

QMargins QLayout::contentsMargins() const

Gibt die um das Layout herum verwendeten Ränder zurück.

Standardmäßig verwendet „ QLayout “ die im Stil angegebenen Werte. Auf den meisten Plattformen beträgt der Rand in alle Richtungen 11 Pixel.

Hinweis: Getter -Funktion für die Eigenschaft `contentsMargins`.

Siehe auch ` setContentsMargins()`.

QRect QLayout::contentsRect() const

Gibt das Rechteck „ geometry()“ des Layouts zurück, berücksichtigt dabei jedoch die Ränder des Inhalts.

Siehe auch ` setContentsMargins()` und ` getContentsMargins()`.

[override virtual] QSizePolicy::ControlTypes QLayout::controlTypes() const

Implementiert: ` QLayoutItem::controlTypes()` const.

[pure virtual] int QLayout::count() const

Muss in Unterklassen implementiert werden, um die Anzahl der Elemente im Layout zurückzugeben.

Siehe auch ` itemAt()`.

[override virtual] Qt::Orientations QLayout::expandingDirections() const

Implementiert: ` QLayoutItem::expandingDirections()` const.

Gibt zurück, ob dieses Layout mehr Platz nutzen kann als sizeHint(). Ein Wert von Qt::Vertical oder Qt::Horizontal bedeutet, dass es nur in einer Dimension wachsen möchte, während Qt::Vertical | Qt::Horizontal bedeutet, dass es in beiden Dimensionen wachsen möchte.

Die Standardimplementierung gibt „ Qt::Horizontal “ | „ Qt::Vertical “ zurück. Unterklassen implementieren diese Methode neu, um einen aussagekräftigen Wert basierend auf dem Wert „ size policies “ ihrer untergeordneten Widgets zurückzugeben.

Siehe auch sizeHint().

[override virtual] QRect QLayout::geometry() const

Implementiert neu: QLayoutItem::geometry() const.

Siehe auch setGeometry().

void QLayout::getContentsMargins(int *left, int *top, int *right, int *bottom) const

Für jede der Adressen left, top, right und bottom, die nicht nullptr ist, wird die Größe des am jeweiligen Speicherort genannten Randes gespeichert, auf den der Zeiger verweist.

Standardmäßig verwendet „ QLayout “ die vom Stil vorgegebenen Werte. Auf den meisten Plattformen beträgt der Rand in alle Richtungen 11 Pixel.

Siehe auch setContentsMargins(), QStyle::pixelMetric(), PM_LayoutLeftMargin, PM_LayoutTopMargin, PM_LayoutRightMargin und PM_LayoutBottomMargin.

[virtual] int QLayout::indexOf(const QLayoutItem *layoutItem) const

Sucht in diesem Layout (ohne untergeordnete Layouts) nach dem Layout-Element „ layoutItem “.

Gibt den Index von „ layoutItem “ zurück oder -1, wenn „ layoutItem “ nicht gefunden wird.

[virtual] int QLayout::indexOf(const QWidget *widget) const

Sucht in diesem Layout (ohne untergeordnete Layouts) nach dem Widget „ widget “.

Gibt den Index von „ widget “ zurück oder -1, wenn „ widget “ nicht gefunden wird.

Die Standardimplementierung durchläuft alle Elemente mithilfe von ` itemAt()`.

[override virtual] void QLayout::invalidate()

Implementiert: QLayoutItem::invalidate().

[override virtual] bool QLayout::isEmpty() const

Implementiert: ` QLayoutItem::isEmpty()` const.

bool QLayout::isEnabled() const

Gibt „ true “ zurück, wenn das Layout aktiviert ist; andernfalls wird „ false “ zurückgegeben.

Siehe auch setEnabled().

[pure virtual] QLayoutItem *QLayout::itemAt(int index) const

Muss in Unterklassen implementiert werden, um das Layout-Element unter index zurückzugeben. Wenn kein solches Element vorhanden ist, muss die Funktion nullptr zurückgeben. Die Elemente werden fortlaufend ab 0 nummeriert. Wird ein Element gelöscht, werden die anderen Elemente neu nummeriert.

Diese Funktion kann verwendet werden, um ein Layout zu durchlaufen. Der folgende Code zeichnet für jedes Layout-Element in der Layout-Struktur des Widgets ein Rechteck.

static void paintLayout(QPainter *painter, QLayoutItem *item)
{
    QLayout *layout = item->layout();
    if (layout) {
        for (int i = 0; i < layout->count(); ++i)
            paintLayout(painter, layout->itemAt(i));
    }
    painter->drawRect(item->geometry());
}

void MyWidget::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    if (layout())
        paintLayout(&painter, layout());
}

Siehe auch count() und takeAt().

[override virtual] QLayout *QLayout::layout()

Implementiert: QLayoutItem::layout().

[override virtual] QSize QLayout::maximumSize() const

Implementiert neu: ` QLayoutItem::maximumSize()` const.

Gibt die maximale Größe dieses Layouts zurück. Dies ist die größte Größe, die das Layout haben kann, ohne gegen die Spezifikationen zu verstoßen.

Der zurückgegebene Wert beinhaltet nicht den Platzbedarf von QWidget::setContentsMargins() oder menuBar().

Die Standardimplementierung erlaubt eine unbegrenzte Größenänderung.

Gibt die für dieses Layout festgelegte Menüleiste zurück oder „ nullptr “, falls keine Menüleiste festgelegt ist.

Siehe auch „ setMenuBar()“.

[override virtual] QSize QLayout::minimumSize() const

Implementiert: ` QLayoutItem::minimumSize()` const.

Gibt die minimale Größe dieses Layouts zurück. Dies ist die kleinste Größe, die das Layout haben kann, ohne gegen die Spezifikationen zu verstoßen.

Der zurückgegebene Wert enthält nicht den Platzbedarf von QWidget::setContentsMargins() oder menuBar().

Die Standardimplementierung erlaubt eine unbegrenzte Größenänderung.

QWidget *QLayout::parentWidget() const

Gibt das übergeordnete Widget dieses Layouts zurück oder „ nullptr “, falls dieses Layout auf keinem Widget installiert ist.

Wenn es sich bei dem Layout um ein Unterlayout handelt, gibt diese Funktion das übergeordnete Widget des übergeordneten Layouts zurück.

Siehe auch parent().

void QLayout::removeItem(QLayoutItem *item)

Entfernt das Layout-Element „ item “ aus dem Layout. Es liegt in der Verantwortung des Aufrufers, das Element zu löschen.

Beachten Sie, dass „ item “ ein Layout sein kann (da „ QLayout “ von „ QLayoutItem “ erbt).

Siehe auch ` removeWidget()` und ` addItem()`.

void QLayout::removeWidget(QWidget *widget)

Entfernt das Widget widget aus dem Layout. Nach diesem Aufruf liegt es in der Verantwortung des Aufrufenden, dem Widget eine angemessene Geometrie zuzuweisen, es wieder in ein Layout einzufügen oder es bei Bedarf explizit auszublenden.

Hinweis: Die Zugehörigkeit von „ widget “ bleibt dieselbe wie zum Zeitpunkt des Hinzufügens.

Siehe auch „ removeItem()“, „ QWidget::setGeometry()“ und „ addWidget()“.

[virtual] QLayoutItem *QLayout::replaceWidget(QWidget *from, QWidget *to, Qt::FindChildOptions options = Qt::FindChildrenRecursively)

Es wird nach dem Widget from gesucht und dieses, falls gefunden, durch das Widget to ersetzt. Bei Erfolg wird das Layout-Element zurückgegeben, das das Widget from enthält. Andernfalls wird nullptr zurückgegeben. Wenn options den Wert Qt::FindChildrenRecursively enthält (Standard), werden Unterlayouts durchsucht, um den Austausch durchzuführen. Alle anderen Flags in options werden ignoriert.

Beachten Sie, dass das zurückgegebene Element daher möglicherweise nicht zu diesem Layout, sondern zu einem Unterlayout gehört.

Das zurückgegebene Layout-Element gehört nicht mehr zum Layout und sollte entweder gelöscht oder in ein anderes Layout eingefügt werden. Das Widget „ from “ wird nicht mehr vom Layout verwaltet und muss möglicherweise gelöscht oder ausgeblendet werden. Das übergeordnete Element des Widgets „ from “ bleibt unverändert.

Diese Funktion funktioniert bei den integrierten Qt-Layouts, möglicherweise jedoch nicht bei benutzerdefinierten Layouts.

Siehe auch indexOf().

bool QLayout::setAlignment(QWidget *w, Qt::Alignment alignment)

Legt die Ausrichtung für das Widget „ w “ auf „ alignment “ fest und gibt „true“ zurück, wenn „ w “ in diesem Layout gefunden wird (ohne untergeordnete Layouts); andernfalls wird „ false “ zurückgegeben.

bool QLayout::setAlignment(QLayout *l, Qt::Alignment alignment)

Setzt die Ausrichtung für das Layout l auf alignment und gibt true zurück, wenn l in diesem Layout gefunden wird (ohne untergeordnete Layouts); andernfalls wird false zurückgegeben.

Dies ist eine überladene Funktion.

void QLayout::setContentsMargins(const QMargins &margins)

Legt die „ margins “ fest, die rund um das Layout verwendet werden soll.

Standardmäßig verwendet ` QLayout ` die vom Stil vorgegebenen Werte. Auf den meisten Plattformen beträgt der Rand in alle Richtungen 11 Pixel.

Hinweis: Setter -Funktion für die Eigenschaft ` contentsMargins`.

Siehe auch contentsMargins().

void QLayout::setContentsMargins(int left, int top, int right, int bottom)

Legt die Ränder „ left “, „ top “, „ right “ und „ bottom “ fest, die um das Layout herum verwendet werden sollen.

Standardmäßig verwendet „ QLayout “ die vom Stil vorgegebenen Werte. Auf den meisten Plattformen beträgt der Rand in alle Richtungen 11 Pixel.

Hinweis: Setter -Funktion für die Eigenschaft „ contentsMargins “.

Siehe auch „ getContentsMargins()“, „ QStyle::pixelMetric()“, „ PM_LayoutLeftMargin “, „ PM_LayoutTopMargin “, „ PM_LayoutRightMargin “ und „ PM_LayoutBottomMargin “.

void QLayout::setEnabled(bool enable)

Aktiviert dieses Layout, wenn „ enable “ auf „true“ gesetzt ist, andernfalls wird es deaktiviert.

Ein aktiviertes Layout passt sich dynamisch an Änderungen an; ein deaktiviertes Layout verhält sich so, als ob es nicht existieren würde.

Standardmäßig sind alle Layouts aktiviert.

Siehe auch ` isEnabled()`.

[override virtual] void QLayout::setGeometry(const QRect &r)

Implementiert neu: QLayoutItem::setGeometry(const QRect &r).

Siehe auch geometry().

void QLayout::setMenuBar(QWidget *widget)

Weist den Geometrie-Manager an, die Menüleiste „ widget “ oben auf „ parentWidget “ () außerhalb von „ QWidget::contentsMargins “ () zu platzieren. Alle untergeordneten Widgets werden unterhalb der Unterkante der Menüleiste platziert.

Siehe auch menuBar().

[since 6.10] void QLayout::setSizeConstraints(QLayout::SizeConstraint horizontal, QLayout::SizeConstraint vertical)

Legt sowohl die Größenbeschränkungen für „ horizontal “ als auch für „ vertical “ fest.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch „ sizeConstraint()“, „ horizontalSizeConstraint()“ und „ verticalSizeConstraint()“.

[pure virtual] QLayoutItem *QLayout::takeAt(int index)

Muss in Unterklassen implementiert werden, um das Layout-Element unter index aus dem Layout zu entfernen und das Element zurückzugeben. Wenn kein solches Element vorhanden ist, darf die Funktion nichts ausführen und muss 0 zurückgeben. Die Elemente werden fortlaufend ab 0 nummeriert. Wenn ein Element entfernt wird, werden die anderen Elemente neu nummeriert.

Das folgende Codefragment zeigt eine sichere Möglichkeit, alle Elemente aus einem Layout zu entfernen:

QLayoutItem *child;
while ((child = layout->takeAt(0)) != nullptr) {
    ...
    delete child->widget(); // delete the widget
    delete child;   // delete the layout item
}

Siehe auch „ itemAt()“ und „ count()“.

[since 6.1] void QLayout::unsetContentsMargins()

Hebt alle benutzerdefinierten Ränder um das Layout herum auf. Das Layout verwendet dann die vom Stil vorgegebenen Standardwerte.

Hinweis: Resetter -Funktion für die Eigenschaft „ contentsMargins “.

Diese Funktion wurde in Qt 6.1 eingeführt.

Siehe auch ` setContentsMargins()`.

void QLayout::update()

Aktualisiert das Layout für parentWidget().

In der Regel sollten Sie diese Funktion nicht aufrufen müssen, da sie automatisch zum am besten geeigneten Zeitpunkt aufgerufen wird.

Siehe auch activate() und invalidate().

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