QLayoutItem Class
Die Klasse QLayoutItem stellt ein abstraktes Element zur Verfügung, das von QLayout bearbeitet wird. Mehr...
Kopfzeile: | #include <QLayoutItem> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Vererbt von: | QLayout, QSpacerItem, und QWidgetItem |
Öffentliche Funktionen
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 |
Detaillierte Beschreibung
Dies wird von benutzerdefinierten Layouts verwendet.
Es werden rein virtuelle Funktionen bereitgestellt, die Informationen über das Layout zurückgeben, darunter sizeHint(), minimumSize(), maximumSize() und expandingDirections().
Die Geometrie des Layouts kann mit setGeometry() und geometry() eingestellt und abgerufen werden, die Ausrichtung mit setAlignment() und alignment().
isEmpty() gibt zurück, ob das Layoutelement leer ist. Ist das konkrete Element ein QWidget, kann es mit widget() abgerufen werden. Ähnliches gilt für layout() und spacerItem().
Einige Layouts haben Abhängigkeiten zwischen Breite und Höhe. Diese können mit hasHeightForWidth(), heightForWidth() und minimumHeightForWidth() ausgedrückt werden. Für weitere Erklärungen siehe den Qt Quarterly Artikel Höhe gegen Breite tauschen.
Siehe auch QLayout.
Dokumentation der Mitgliedsfunktionen
[explicit]
QLayoutItem::QLayoutItem(Qt::Alignment alignment = Qt::Alignment())
Konstruiert ein Layoutelement mit einem alignment. Nicht alle Unterklassen unterstützen die Ausrichtung.
[virtual noexcept]
QLayoutItem::~QLayoutItem()
Zerstört die QLayoutItem.
Qt::Alignment QLayoutItem::alignment() const
Gibt die Ausrichtung dieses Elements zurück.
Siehe auch setAlignment().
[virtual]
QSizePolicy::ControlTypes QLayoutItem::controlTypes() const
Gibt den/die Kontrolltyp(en) für das Layoutelement zurück. Für ein QWidgetItem stammt der Kontrolltyp aus der Größenrichtlinie des Widgets; für ein QLayoutItem wird der Kontrolltyp aus dem Inhalt des Layouts abgeleitet.
Siehe auch QSizePolicy::controlType().
[pure virtual]
Qt::Orientations QLayoutItem::expandingDirections() const
Gibt zurück, ob dieses Layoutelement mehr Platz als sizeHint() beanspruchen kann. Ein Wert von Qt::Vertical oder Qt::Horizontal bedeutet, dass es nur in einer Dimension wachsen will, während Qt::Vertical | Qt::Horizontal bedeutet, dass es in beiden Dimensionen wachsen will.
[pure virtual]
QRect QLayoutItem::geometry() const
Gibt das Rechteck zurück, das von diesem Layoutelement abgedeckt wird.
Siehe auch setGeometry().
[virtual]
bool QLayoutItem::hasHeightForWidth() const
Gibt true
zurück, wenn die bevorzugte Höhe dieses Layouts von seiner Breite abhängt; andernfalls wird false
zurückgegeben. Die Standardimplementierung gibt false zurück.
Reimplementieren Sie diese Funktion in Layoutmanagern, die Höhe für Breite unterstützen.
Siehe auch heightForWidth() und QWidget::heightForWidth().
[virtual]
int QLayoutItem::heightForWidth(int) const
Gibt die bevorzugte Höhe für dieses Layoutelement in Abhängigkeit von der Breite zurück, die in dieser Standardimplementierung nicht verwendet wird.
Die Standardimplementierung gibt -1 zurück und zeigt damit an, dass die bevorzugte Höhe unabhängig von der Breite des Elements ist. Die Verwendung der Funktion hasHeightForWidth() ist in der Regel wesentlich schneller als der Aufruf dieser Funktion und der Test auf -1.
Implementieren Sie diese Funktion in Layoutmanagern neu, die Höhe für Breite unterstützen. Eine typische Implementierung sieht wie folgt aus:
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; }
Zwischenspeichern wird dringend empfohlen; ohne Zwischenspeichern wird das Layout exponentiell lange dauern.
Siehe auch hasHeightForWidth().
[virtual]
void QLayoutItem::invalidate()
Macht alle zwischengespeicherten Informationen in diesem Layoutelement ungültig.
[pure virtual]
bool QLayoutItem::isEmpty() const
Wird in Unterklassen implementiert, um zurückzugeben, ob dieses Element leer ist, d. h. ob es irgendwelche Widgets enthält.
[virtual]
QLayout *QLayoutItem::layout()
Wenn dieses Element ein QLayout ist, wird es als QLayout zurückgegeben; andernfalls wird nullptr
zurückgegeben. Diese Funktion bietet ein typsicheres Casting.
Siehe auch spacerItem() und widget().
[pure virtual]
QSize QLayoutItem::maximumSize() const
Wird in Unterklassen implementiert, um die maximale Größe dieses Elements zurückzugeben.
[virtual]
int QLayoutItem::minimumHeightForWidth(int w) const
Gibt die Mindesthöhe zurück, die dieses Widget für die angegebene Breite benötigt, w. Die Standardimplementierung gibt einfach heightForWidth(w) zurück.
[pure virtual]
QSize QLayoutItem::minimumSize() const
Wird in Unterklassen implementiert, um die Mindestgröße dieses Elements zurückzugeben.
void QLayoutItem::setAlignment(Qt::Alignment alignment)
Setzt die Ausrichtung dieses Elements auf alignment.
Hinweis: Die Ausrichtung von Elementen wird nur von QLayoutItem Unterklassen unterstützt, wo sie einen visuellen Effekt hat. Mit Ausnahme von QSpacerItem, das Leerraum für Layouts bereitstellt, unterstützen alle öffentlichen Qt-Klassen, die von QLayoutItem erben, die Ausrichtung von Elementen.
Siehe auch alignment().
[pure virtual]
void QLayoutItem::setGeometry(const QRect &r)
Wird in Unterklassen implementiert, um die Geometrie dieses Elements auf r zu setzen.
Siehe auch geometry().
[pure virtual]
QSize QLayoutItem::sizeHint() const
Wird in Unterklassen implementiert, um die bevorzugte Größe dieses Elements zurückzugeben.
[virtual]
QSpacerItem *QLayoutItem::spacerItem()
Wenn dieses Element ein QSpacerItem ist, wird es als QSpacerItem zurückgegeben; andernfalls wird nullptr
zurückgegeben. Diese Funktion bietet ein typsicheres Casting.
Siehe auch layout() und widget().
[virtual]
QWidget *QLayoutItem::widget() const
Wenn dieses Element ein QWidget verwaltet, wird dieses Widget zurückgegeben. Andernfalls wird nullptr
zurückgegeben.
Hinweis: Während die Funktionen layout() und spacerItem() Casts durchführen, gibt diese Funktion ein anderes Objekt zurück: QLayout und QSpacerItem erben QLayoutItem, während QWidget dies nicht tut.
Siehe auch layout() und spacerItem().
© 2025 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.