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:
| Konstant | Wert | Beschreibung |
|---|---|---|
QLayout::SetDefaultConstraint | 0 | In der/den eingeschränkten Ausrichtung(en) wird die minimale Ausdehnung des Widgets auf ` minimumSize()` gesetzt, sofern nicht bereits eine Mindestgröße festgelegt wurde. |
QLayout::SetFixedSize | 3 | In 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::SetMinimumSize | 2 | In den eingeschränkten Ausrichtungen wird die minimale Ausdehnung des Widgets auf ` minimumSize()` gesetzt. |
QLayout::SetMaximumSize | 4 | In den eingeschränkten Ausrichtungen wird die maximale Ausdehnung des Widgets auf „ maximumSize “ () festgelegt. |
QLayout::SetMinAndMaxSize | 5 | In der/den eingeschränkten Ausrichtung(en) wird die minimale Ausdehnung des Widgets auf „ minimumSize “ () gesetzt, und die maximale Ausdehnung auf „ maximumSize “ (). |
QLayout::SetNoConstraint | 1 | Es 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.
QWidget *QLayout::menuBar() const
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.