File indexing completed on 2026-06-02 08:54:47
0001
0002
0003
0004
0005 #ifndef QGRIDLAYOUT_H
0006 #define QGRIDLAYOUT_H
0007
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qlayout.h>
0010 #ifdef QT_INCLUDE_COMPAT
0011 #include <QtWidgets/qwidget.h>
0012 #endif
0013
0014 #include <limits.h>
0015
0016 QT_BEGIN_NAMESPACE
0017
0018
0019 class QGridLayoutPrivate;
0020
0021 class Q_WIDGETS_EXPORT QGridLayout : public QLayout
0022 {
0023 Q_OBJECT
0024 Q_DECLARE_PRIVATE(QGridLayout)
0025 QDOC_PROPERTY(int horizontalSpacing READ horizontalSpacing WRITE setHorizontalSpacing)
0026 QDOC_PROPERTY(int verticalSpacing READ verticalSpacing WRITE setVerticalSpacing)
0027
0028 public:
0029 explicit QGridLayout(QWidget *parent = nullptr);
0030 ~QGridLayout();
0031
0032 QSize sizeHint() const override;
0033 QSize minimumSize() const override;
0034 QSize maximumSize() const override;
0035
0036 void setHorizontalSpacing(int spacing);
0037 int horizontalSpacing() const;
0038 void setVerticalSpacing(int spacing);
0039 int verticalSpacing() const;
0040 void setSpacing(int spacing) override;
0041 int spacing() const override;
0042
0043 void setRowStretch(int row, int stretch);
0044 void setColumnStretch(int column, int stretch);
0045 int rowStretch(int row) const;
0046 int columnStretch(int column) const;
0047
0048 void setRowMinimumHeight(int row, int minSize);
0049 void setColumnMinimumWidth(int column, int minSize);
0050 int rowMinimumHeight(int row) const;
0051 int columnMinimumWidth(int column) const;
0052
0053 int columnCount() const;
0054 int rowCount() const;
0055
0056 QRect cellRect(int row, int column) const;
0057
0058 bool hasHeightForWidth() const override;
0059 int heightForWidth(int) const override;
0060 int minimumHeightForWidth(int) const override;
0061
0062 Qt::Orientations expandingDirections() const override;
0063 void invalidate() override;
0064
0065 inline void addWidget(QWidget *w) { QLayout::addWidget(w); }
0066 void addWidget(QWidget *, int row, int column, Qt::Alignment = Qt::Alignment());
0067 void addWidget(QWidget *, int row, int column, int rowSpan, int columnSpan, Qt::Alignment = Qt::Alignment());
0068 void addLayout(QLayout *, int row, int column, Qt::Alignment = Qt::Alignment());
0069 void addLayout(QLayout *, int row, int column, int rowSpan, int columnSpan, Qt::Alignment = Qt::Alignment());
0070
0071 void setOriginCorner(Qt::Corner);
0072 Qt::Corner originCorner() const;
0073
0074 QLayoutItem *itemAt(int index) const override;
0075 QLayoutItem *itemAtPosition(int row, int column) const;
0076 QLayoutItem *takeAt(int index) override;
0077 int count() const override;
0078 void setGeometry(const QRect&) override;
0079
0080 void addItem(QLayoutItem *item, int row, int column, int rowSpan = 1, int columnSpan = 1, Qt::Alignment = Qt::Alignment());
0081
0082 void setDefaultPositioning(int n, Qt::Orientation orient);
0083 void getItemPosition(int idx, int *row, int *column, int *rowSpan, int *columnSpan) const;
0084
0085 protected:
0086 void addItem(QLayoutItem *) override;
0087
0088 private:
0089 Q_DISABLE_COPY(QGridLayout)
0090
0091 };
0092
0093 QT_END_NAMESPACE
0094
0095 #endif