File indexing completed on 2026-05-02 08:27:12
0001
0002
0003
0004
0005 #ifndef QGRAPHICSGRIDLAYOUT_H
0006 #define QGRAPHICSGRIDLAYOUT_H
0007
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qgraphicsitem.h>
0010 #include <QtWidgets/qgraphicslayout.h>
0011
0012 QT_REQUIRE_CONFIG(graphicsview);
0013
0014 QT_BEGIN_NAMESPACE
0015
0016 class QGraphicsGridLayoutPrivate;
0017
0018 class Q_WIDGETS_EXPORT QGraphicsGridLayout : public QGraphicsLayout
0019 {
0020 public:
0021 QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr);
0022 virtual ~QGraphicsGridLayout();
0023
0024 void addItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan,
0025 Qt::Alignment alignment = Qt::Alignment());
0026 inline void addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment());
0027
0028 void setHorizontalSpacing(qreal spacing);
0029 qreal horizontalSpacing() const;
0030 void setVerticalSpacing(qreal spacing);
0031 qreal verticalSpacing() const;
0032 void setSpacing(qreal spacing);
0033
0034 void setRowSpacing(int row, qreal spacing);
0035 qreal rowSpacing(int row) const;
0036 void setColumnSpacing(int column, qreal spacing);
0037 qreal columnSpacing(int column) const;
0038
0039 void setRowStretchFactor(int row, int stretch);
0040 int rowStretchFactor(int row) const;
0041 void setColumnStretchFactor(int column, int stretch);
0042 int columnStretchFactor(int column) const;
0043
0044 void setRowMinimumHeight(int row, qreal height);
0045 qreal rowMinimumHeight(int row) const;
0046 void setRowPreferredHeight(int row, qreal height);
0047 qreal rowPreferredHeight(int row) const;
0048 void setRowMaximumHeight(int row, qreal height);
0049 qreal rowMaximumHeight(int row) const;
0050 void setRowFixedHeight(int row, qreal height);
0051
0052 void setColumnMinimumWidth(int column, qreal width);
0053 qreal columnMinimumWidth(int column) const;
0054 void setColumnPreferredWidth(int column, qreal width);
0055 qreal columnPreferredWidth(int column) const;
0056 void setColumnMaximumWidth(int column, qreal width);
0057 qreal columnMaximumWidth(int column) const;
0058 void setColumnFixedWidth(int column, qreal width);
0059
0060 void setRowAlignment(int row, Qt::Alignment alignment);
0061 Qt::Alignment rowAlignment(int row) const;
0062 void setColumnAlignment(int column, Qt::Alignment alignment);
0063 Qt::Alignment columnAlignment(int column) const;
0064
0065 void setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment);
0066 Qt::Alignment alignment(QGraphicsLayoutItem *item) const;
0067
0068 int rowCount() const;
0069 int columnCount() const;
0070
0071 QGraphicsLayoutItem *itemAt(int row, int column) const;
0072
0073
0074 int count() const override;
0075 QGraphicsLayoutItem *itemAt(int index) const override;
0076 void removeAt(int index) override;
0077 void removeItem(QGraphicsLayoutItem *item);
0078
0079 void invalidate() override;
0080
0081
0082 void setGeometry(const QRectF &rect) override;
0083 QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override;
0084
0085
0086
0087
0088
0089 private:
0090 Q_DISABLE_COPY(QGraphicsGridLayout)
0091 Q_DECLARE_PRIVATE(QGraphicsGridLayout)
0092 };
0093
0094 inline void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *aitem, int arow, int acolumn, Qt::Alignment aalignment)
0095 { addItem(aitem, arow, acolumn, 1, 1, aalignment); }
0096
0097 QT_END_NAMESPACE
0098
0099 #endif