QGraphicsGridLayout Class
The QGraphicsGridLayout class provides a grid layout for managing widgets in Graphics View. 更多...
头文件: | #include <QGraphicsGridLayout> |
qmake: | QT += widgets |
开始支持版本: | Qt 4.4 |
基类: | QGraphicsLayout |
公有函数
QGraphicsGridLayout(QGraphicsLayoutItem *parent = Q_NULLPTR) | |
virtual | ~QGraphicsGridLayout() |
void | addItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = Qt::Alignment()) |
void | addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment()) |
Qt::Alignment | alignment(QGraphicsLayoutItem *item) const |
Qt::Alignment | columnAlignment(int column) const |
int | columnCount() const |
qreal | columnMaximumWidth(int column) const |
qreal | columnMinimumWidth(int column) const |
qreal | columnPreferredWidth(int column) const |
qreal | columnSpacing(int column) const |
int | columnStretchFactor(int column) const |
qreal | horizontalSpacing() const |
QGraphicsLayoutItem * | itemAt(int row, int column) const |
void | removeItem(QGraphicsLayoutItem *item) |
Qt::Alignment | rowAlignment(int row) const |
int | rowCount() const |
qreal | rowMaximumHeight(int row) const |
qreal | rowMinimumHeight(int row) const |
qreal | rowPreferredHeight(int row) const |
qreal | rowSpacing(int row) const |
int | rowStretchFactor(int row) const |
void | setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment) |
void | setColumnAlignment(int column, Qt::Alignment alignment) |
void | setColumnFixedWidth(int column, qreal width) |
void | setColumnMaximumWidth(int column, qreal width) |
void | setColumnMinimumWidth(int column, qreal width) |
void | setColumnPreferredWidth(int column, qreal width) |
void | setColumnSpacing(int column, qreal spacing) |
void | setColumnStretchFactor(int column, int stretch) |
void | setHorizontalSpacing(qreal spacing) |
void | setRowAlignment(int row, Qt::Alignment alignment) |
void | setRowFixedHeight(int row, qreal height) |
void | setRowMaximumHeight(int row, qreal height) |
void | setRowMinimumHeight(int row, qreal height) |
void | setRowPreferredHeight(int row, qreal height) |
void | setRowSpacing(int row, qreal spacing) |
void | setRowStretchFactor(int row, int stretch) |
void | setSpacing(qreal spacing) |
void | setVerticalSpacing(qreal spacing) |
qreal | verticalSpacing() const |
重新实现的公有函数
virtual int | count() const |
virtual void | invalidate() |
virtual QGraphicsLayoutItem * | itemAt(int index) const |
virtual void | removeAt(int index) |
virtual void | setGeometry(const QRectF &rect) |
virtual QSizeF | sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const |
- 10 个公有函数继承自 QGraphicsLayout
- 35 个公有函数继承自 QGraphicsLayoutItem
其他继承的成员
- 1 个受保护的函数继承自 QGraphicsLayout
- 3 个受保护的函数继承自 QGraphicsLayoutItem
详细描述
The QGraphicsGridLayout class provides a grid layout for managing widgets in Graphics View.
The most common way to use QGraphicsGridLayout is to construct an object on the heap with no parent, add widgets and layouts by calling addItem(), and finally assign the layout to a widget by calling QGraphicsWidget::setLayout(). QGraphicsGridLayout automatically computes the dimensions of the grid as you add items.
QGraphicsScene scene; QGraphicsWidget *textEdit = scene.addWidget(new QTextEdit); QGraphicsWidget *pushButton = scene.addWidget(new QPushButton); QGraphicsGridLayout *layout = new QGraphicsGridLayout; layout->addItem(textEdit, 0, 0); layout->addItem(pushButton, 0, 1); QGraphicsWidget *form = new QGraphicsWidget; form->setLayout(layout); scene.addItem(form);
The layout takes ownership of the items. In some cases when the layout item also inherits from QGraphicsItem (such as QGraphicsWidget) there will be a ambiguity in ownership because the layout item belongs to two ownership hierarchies. See the documentation of QGraphicsLayoutItem::setOwnedByLayout() how to handle this. You can access each item in the layout by calling count() and itemAt(). Calling removeAt() will remove an item from the layout, without destroying it.
Size Hints and Size Policies in QGraphicsGridLayout
QGraphicsGridLayout respects each item's size hints and size policies, and when a cell in the grid has more space than the items can fill, each item is arranged according to the layout's alignment for that item. You can set an alignment for each item by calling setAlignment(), and check the alignment for any item by calling alignment(). You can also set the alignment for an entire row or column by calling setRowAlignment() and setColumnAlignment() respectively. By default, items are aligned to the top left.
参见 QGraphicsLinearLayout and QGraphicsWidget.
成员函数
QGraphicsGridLayout::QGraphicsGridLayout(QGraphicsLayoutItem *parent = Q_NULLPTR)
Constructs a QGraphicsGridLayout instance. parent is passed to QGraphicsLayout's constructor.
[virtual]
QGraphicsGridLayout::~QGraphicsGridLayout()
Destroys the QGraphicsGridLayout object.
void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = Qt::Alignment())
Adds item to the grid on row and column. You can specify a rowSpan and columnSpan and an optional alignment.
void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment())
Adds item to the grid on row and column. You can specify an optional alignment for item.
Qt::Alignment QGraphicsGridLayout::alignment(QGraphicsLayoutItem *item) const
Returns the alignment for item.
参见 setAlignment().
Qt::Alignment QGraphicsGridLayout::columnAlignment(int column) const
Returns the alignment for column.
参见 setColumnAlignment().
int QGraphicsGridLayout::columnCount() const
Returns the number of columns in the grid layout. This is always one more than the index of the last column that is occupied by a layout item (empty columns are counted except for those at the end).
qreal QGraphicsGridLayout::columnMaximumWidth(int column) const
Returns the maximum width for column.
参见 setColumnMaximumWidth().
qreal QGraphicsGridLayout::columnMinimumWidth(int column) const
Returns the minimum width for column.
参见 setColumnMinimumWidth().
qreal QGraphicsGridLayout::columnPreferredWidth(int column) const
Returns the preferred width for column.
参见 setColumnPreferredWidth().
qreal QGraphicsGridLayout::columnSpacing(int column) const
Returns the column spacing for column.
参见 setColumnSpacing().
int QGraphicsGridLayout::columnStretchFactor(int column) const
Returns the stretch factor for column.
参见 setColumnStretchFactor().
[virtual]
int QGraphicsGridLayout::count() const
重新实现 QGraphicsLayout::count().
Returns the number of layout items in this grid layout.
qreal QGraphicsGridLayout::horizontalSpacing() const
Returns the default horizontal spacing for the grid layout.
参见 setHorizontalSpacing().
[virtual]
void QGraphicsGridLayout::invalidate()
重新实现 QGraphicsLayout::invalidate().
QGraphicsLayoutItem *QGraphicsGridLayout::itemAt(int row, int column) const
Returns a pointer to the layout item at (row, column).
[virtual]
QGraphicsLayoutItem *QGraphicsGridLayout::itemAt(int index) const
重新实现 QGraphicsLayout::itemAt().
Returns the layout item at index, or 0 if there is no layout item at this index.
[virtual]
void QGraphicsGridLayout::removeAt(int index)
重新实现 QGraphicsLayout::removeAt().
Removes the layout item at index without destroying it. Ownership of the item is transferred to the caller.
参见 addItem().
void QGraphicsGridLayout::removeItem(QGraphicsLayoutItem *item)
Removes the layout item item without destroying it. Ownership of the item is transferred to the caller.
参见 addItem().
Qt::Alignment QGraphicsGridLayout::rowAlignment(int row) const
Returns the alignment of row.
参见 setRowAlignment().
int QGraphicsGridLayout::rowCount() const
Returns the number of rows in the grid layout. This is always one more than the index of the last row that is occupied by a layout item (empty rows are counted except for those at the end).
qreal QGraphicsGridLayout::rowMaximumHeight(int row) const
Returns the maximum height for row, row.
参见 setRowMaximumHeight().
qreal QGraphicsGridLayout::rowMinimumHeight(int row) const
Returns the minimum height for row, row.
参见 setRowMinimumHeight().
qreal QGraphicsGridLayout::rowPreferredHeight(int row) const
Returns the preferred height for row, row.
参见 setRowPreferredHeight().
qreal QGraphicsGridLayout::rowSpacing(int row) const
Returns the row spacing for row.
参见 setRowSpacing().
int QGraphicsGridLayout::rowStretchFactor(int row) const
Returns the stretch factor for row.
参见 setRowStretchFactor().
void QGraphicsGridLayout::setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)
Sets the alignment for item to alignment.
参见 alignment().
void QGraphicsGridLayout::setColumnAlignment(int column, Qt::Alignment alignment)
Sets the alignment for column to alignment.
参见 columnAlignment().
void QGraphicsGridLayout::setColumnFixedWidth(int column, qreal width)
Sets the fixed width of column to width.
void QGraphicsGridLayout::setColumnMaximumWidth(int column, qreal width)
Sets the maximum width of column to width.
参见 columnMaximumWidth().
void QGraphicsGridLayout::setColumnMinimumWidth(int column, qreal width)
Sets the minimum width for column to width.
参见 columnMinimumWidth().
void QGraphicsGridLayout::setColumnPreferredWidth(int column, qreal width)
Sets the preferred width for column to width.
参见 columnPreferredWidth().
void QGraphicsGridLayout::setColumnSpacing(int column, qreal spacing)
Sets the spacing for column to spacing.
参见 columnSpacing().
void QGraphicsGridLayout::setColumnStretchFactor(int column, int stretch)
Sets the stretch factor for column to stretch.
参见 columnStretchFactor().
[virtual]
void QGraphicsGridLayout::setGeometry(const QRectF &rect)
重新实现 QGraphicsLayoutItem::setGeometry().
Sets the bounding geometry of the grid layout to rect.
void QGraphicsGridLayout::setHorizontalSpacing(qreal spacing)
Sets the default horizontal spacing for the grid layout to spacing.
参见 horizontalSpacing().
void QGraphicsGridLayout::setRowAlignment(int row, Qt::Alignment alignment)
Sets the alignment of row to alignment.
参见 rowAlignment().
void QGraphicsGridLayout::setRowFixedHeight(int row, qreal height)
Sets the fixed height for row, row, to height.
void QGraphicsGridLayout::setRowMaximumHeight(int row, qreal height)
Sets the maximum height for row, row, to height.
参见 rowMaximumHeight().
void QGraphicsGridLayout::setRowMinimumHeight(int row, qreal height)
Sets the minimum height for row, row, to height.
参见 rowMinimumHeight().
void QGraphicsGridLayout::setRowPreferredHeight(int row, qreal height)
Sets the preferred height for row, row, to height.
参见 rowPreferredHeight().
void QGraphicsGridLayout::setRowSpacing(int row, qreal spacing)
Sets the spacing for row to spacing.
参见 rowSpacing().
void QGraphicsGridLayout::setRowStretchFactor(int row, int stretch)
Sets the stretch factor for row to stretch.
参见 rowStretchFactor().
void QGraphicsGridLayout::setSpacing(qreal spacing)
Sets the grid layout's default spacing, both vertical and horizontal, to spacing.
参见 rowSpacing() and columnSpacing().
void QGraphicsGridLayout::setVerticalSpacing(qreal spacing)
Sets the default vertical spacing for the grid layout to spacing.
参见 verticalSpacing().
[virtual]
QSizeF QGraphicsGridLayout::sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const
重新实现 QGraphicsLayoutItem::sizeHint().
qreal QGraphicsGridLayout::verticalSpacing() const
Returns the default vertical spacing for the grid layout.
参见 setVerticalSpacing().