Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qgraphicslinearlayout.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QGRAPHICSLINEARLAYOUT_H
6#define QGRAPHICSLINEARLAYOUT_H
7
8#include <QtWidgets/qtwidgetsglobal.h>
9#include <QtWidgets/qgraphicsitem.h>
10#include <QtWidgets/qgraphicslayout.h>
11
13
14QT_BEGIN_NAMESPACE
15
16class QGraphicsLinearLayoutPrivate;
17
18class Q_WIDGETS_EXPORT QGraphicsLinearLayout : public QGraphicsLayout
19{
20public:
21 QGraphicsLinearLayout(QGraphicsLayoutItem *parent = nullptr);
22 QGraphicsLinearLayout(Qt::Orientation orientation, QGraphicsLayoutItem *parent = nullptr);
23 virtual ~QGraphicsLinearLayout();
24
25 void setOrientation(Qt::Orientation orientation);
26 Qt::Orientation orientation() const;
27
28 inline void addItem(QGraphicsLayoutItem *item) { insertItem(-1, item); }
29 inline void addStretch(int stretch = 1) { insertStretch(-1, stretch); }
30
31 void insertItem(int index, QGraphicsLayoutItem *item);
32 void insertStretch(int index, int stretch = 1);
33
34 void removeItem(QGraphicsLayoutItem *item);
35 void removeAt(int index) override;
36
37 void setSpacing(qreal spacing);
38 qreal spacing() const;
39 void setItemSpacing(int index, qreal spacing);
40 qreal itemSpacing(int index) const;
41
42 void setStretchFactor(QGraphicsLayoutItem *item, int stretch);
43 int stretchFactor(QGraphicsLayoutItem *item) const;
44
45 void setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment);
46 Qt::Alignment alignment(QGraphicsLayoutItem *item) const;
47
48 void setGeometry(const QRectF &rect) override;
49
50 int count() const override;
51 QGraphicsLayoutItem *itemAt(int index) const override;
52
53 void invalidate() override;
54 QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override;
55
56#if 0 // ###
57 Q5SizePolicy::ControlTypes controlTypes(LayoutSide side) const;
58#endif
59
60 void dump(int indent = 0) const;
61
62protected:
63#if 0
64 QSize contentsSizeHint(Qt::SizeHint which, const QSize &constraint = QSize()) const;
65#endif
66
67private:
68 Q_DISABLE_COPY(QGraphicsLinearLayout)
69 Q_DECLARE_PRIVATE(QGraphicsLinearLayout)
70};
71
72QT_END_NAMESPACE
73
74#endif
QGraphicsLinearLayoutPrivate(Qt::Orientation orientation)
void removeGridItem(QGridLayoutItem *gridItem)
QGraphicsLayoutStyleInfo * styleInfo() const
QScopedPointer< QGraphicsLayoutStyleInfo > m_styleInfo
The QGraphicsLinearLayout class provides a horizontal or vertical layout for managing widgets in Grap...
QT_REQUIRE_CONFIG(thread)