QGraphicsGridLayout 类

QGraphicsGridLayout 类提供用于在 Graphics View 中管理小部件的网格布局。 更多...

头文件 #include <QGraphicsGridLayout>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets
继承 QGraphicsLayout

公共函数

QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr)
虚的~QGraphicsGridLayout()
voidaddItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = Qt::Alignment())
voidaddItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment())
Qt::Alignmentalignment(QGraphicsLayoutItem *item) const
Qt::AlignmentcolumnAlignment(int column) const
intcolumnCount() const
qrealcolumnMaximumWidth(int column) const
qrealcolumnMinimumWidth(int column) const
qrealcolumnPreferredWidth(int column) const
qrealcolumnSpacing(int column) const
intcolumnStretchFactor(int column) const
qrealhorizontalSpacing() const
QGraphicsLayoutItem *itemAt(int row, int column) const
voidremoveItem(QGraphicsLayoutItem *item)
Qt::AlignmentrowAlignment(int row) const
introwCount() const
qrealrowMaximumHeight(int row) const
qrealrowMinimumHeight(int row) const
qrealrowPreferredHeight(int row) const
qrealrowSpacing(int row) const
introwStretchFactor(int row) const
voidsetAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)
voidsetColumnAlignment(int column, Qt::Alignment alignment)
voidsetColumnFixedWidth(int column, qreal width)
voidsetColumnMaximumWidth(int column, qreal width)
voidsetColumnMinimumWidth(int column, qreal width)
voidsetColumnPreferredWidth(int column, qreal width)
voidsetColumnSpacing(int column, qreal spacing)
voidsetColumnStretchFactor(int column, int stretch)
voidsetHorizontalSpacing(qreal spacing)
voidsetRowAlignment(int row, Qt::Alignment alignment)
voidsetRowFixedHeight(int row, qreal height)
voidsetRowMaximumHeight(int row, qreal height)
voidsetRowMinimumHeight(int row, qreal height)
voidsetRowPreferredHeight(int row, qreal height)
voidsetRowSpacing(int row, qreal spacing)
voidsetRowStretchFactor(int row, int stretch)
voidsetSpacing(qreal spacing)
voidsetVerticalSpacing(qreal spacing)
qrealverticalSpacing() const

重新实现公开函数

virtual intcount() const override
virtual voidinvalidate() override
virtual QGraphicsLayoutItem *itemAt(int index) const override
virtual voidremoveAt(int index) override
virtual voidsetGeometry(const QRectF &rect) override
virtual QSizeFsizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override

详细描述

使用QGraphicsGridLayout最常见的方法是在堆上构造一个对象,将父小部件传递给构造函数,然后通过调用addItem()添加小部件和布局。QGraphicsGridLayout将自动计算添加项时的网格尺寸。

QGraphicsScene scene;
QGraphicsWidget *textEdit = scene.addWidget(new QTextEdit);
QGraphicsWidget *pushButton = scene.addWidget(new QPushButton);

QGraphicsWidget *form = new QGraphicsWidget;
scene.addItem(form);

QGraphicsGridLayout *layout = new QGraphicsGridLayout(form);
layout->addItem(textEdit, 0, 0);
layout->addItem(pushButton, 0, 1);

如果未向布局的构造函数传递父小部件,则需要调用QGraphicsWidget::setLayout()来设置此布局为该小部件的顶层布局,该小部件将拥有布局的所有权。

布局将拥有项的所有权。在布局项同时继承自QGraphicsItem(如QGraphicsWidget)的情况下,由于布局项属于两种所有权层次结构,因此可能会有所有权模糊。有关如何处理这种情况,请参阅QGraphicsLayoutItem::setOwnedByLayout()的文档。您可以通过调用count()和itemAt()访问布局中的每个项。通过调用removeAt()将删除布局中的一个项,而不对其进行销毁。

在QGraphicsGridLayout中的尺寸提示和尺寸策略

QGraphicsGridLayout尊重每个项的尺寸提示和尺寸策略,并且当单元格比能够填充项的空间更大时,每个项将根据布局对该项的对齐方式排列。您可以通过调用setAlignment()为每个项设置对齐方式,并通过调用alignment()检查任何项的对齐方式。您还可以通过调用setRowAlignment()和setColumnAlignment()分别来设置整个行或列的对齐方式。默认情况下,项对齐到左上方。

另请参阅 QGraphicsLinearLayoutQGraphicsWidget.

成员函数文档

QGraphicsGridLayout::QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr)

构造一个 QGraphicsGridLayout 实例。 parent 参数传递给 QGraphicsLayout 构造函数。

[虚 无害游泳] QGraphicsGridLayout::~QGraphicsGridLayout()

销毁 QGraphicsGridLayout 对象。

void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = Qt::Alignment())

item 添加到网格的 rowcolumn 位置。您可以为 rowSpancolumnSpan 以及可选的 alignment 进行指定。

void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment())

item 添加到网格的 rowcolumn 位置。您可以指定 item 的可选 alignment

Qt::Alignment QGraphicsGridLayout::alignment(QGraphicsLayoutItem *item) const

返回 item 的对齐方式。

另请参阅 setAlignment().

Qt::Alignment QGraphicsGridLayout::columnAlignment(int column) const

返回 column 的对齐方式。

另请参阅 setColumnAlignment().

int QGraphicsGridLayout::columnCount() const

返回网格布局中的列数。这总是大于占据最后一个列的布局项索引(除了末尾的空列)。

qreal QGraphicsGridLayout::columnMaximumWidth(int column) const

返回 column 的最大宽度。

另请参阅 setColumnMaximumWidth().

qreal QGraphicsGridLayout::columnMinimumWidth(int column) const

返回 column 的最小宽度。

另请参阅 setColumnMinimumWidth().

qreal QGraphicsGridLayout::columnPreferredWidth(int column) const

返回 column 的首选宽度。

另请参阅 setColumnPreferredWidth().

qreal QGraphicsGridLayout::columnSpacing(int column) const

返回 column 的列间距。

另请参阅 setColumnSpacing()。

int QGraphicsGridLayout::columnStretchFactor(int column) const

返回 column 的拉伸因子。

另请参阅 setColumnStretchFactor()。

[重写 虚函数] int QGraphicsGridLayout::count() const

重写: QGraphicsLayout::count() const.

返回此网格布局中布局项的数量。

qreal QGraphicsGridLayout::horizontalSpacing() const

返回网格布局的默认水平间距。

另请参阅 setHorizontalSpacing()。

[重写 虚函数] void QGraphicsGridLayout::invalidate()

重写: QGraphicsLayout::invalidate().

QGraphicsLayoutItem *QGraphicsGridLayout::itemAt(int row, int column) const

返回指向 (row, column) 处的布局项的指针。

[重写 虚函数] QGraphicsLayoutItem *QGraphicsGridLayout::itemAt(int index) const

重写: QGraphicsLayout::itemAt(int i) const.

返回索引处的布局项,或者如果在此索引处没有布局项,则返回 nullptr

[重写 虚函数] void QGraphicsGridLayout::removeAt(int index)

重写: QGraphicsLayout::removeAt(int index).

移除索引处的布局项而不销毁它。项的所有权转让给调用者。

另请参阅 addItem()。

void QGraphicsGridLayout::removeItem(QGraphicsLayoutItem *item)

移除布局项 item 而不销毁它。项的所有权转让给调用者。

另请参阅 addItem()。

Qt::Alignment QGraphicsGridLayout::rowAlignment(int row) const

返回 row 的对齐方式。

另请参阅 setRowAlignment()。

int QGraphicsGridLayout::rowCount() const

返回网格布局中的行数。这总是最后一个由布局项占用的行的索引加一(包括空行,除了结束处的那些)。

qreal QGraphicsGridLayout::rowMaximumHeight(int row) const

返回行 row 的最大高度。

另请参阅 setRowMaximumHeight().

qreal QGraphicsGridLayout::rowMinimumHeight(int row) const

返回行row的最小高度。

另请参阅 setRowMinimumHeight().

qreal QGraphicsGridLayout::rowPreferredHeight(int row) const

返回行row的首选高度。

另请参阅 setRowPreferredHeight().

qreal QGraphicsGridLayout::rowSpacing(int row) const

返回行row的间距。

另请参阅 setRowSpacing().

int QGraphicsGridLayout::rowStretchFactor(int row) const

返回行row的拉伸因子。

另请参阅 setRowStretchFactor().

void QGraphicsGridLayout::setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)

设置item的对齐方式为alignment

另请参阅 alignment().

void QGraphicsGridLayout::setColumnAlignment(int column, Qt::Alignment alignment)

设置列column的对齐方式为alignment

另请参阅 columnAlignment().

void QGraphicsGridLayout::setColumnFixedWidth(int column, qreal width)

设置列column的固定宽度为width

void QGraphicsGridLayout::setColumnMaximumWidth(int column, qreal width)

设置列column的最大宽度为width

另请参阅 columnMaximumWidth().

void QGraphicsGridLayout::setColumnMinimumWidth(int column, qreal width)

设置列column的最小宽度为width

另请参阅 columnMinimumWidth().

void QGraphicsGridLayout::setColumnPreferredWidth(int column, qreal width)

设置列column的首选宽度为width

另请参阅 columnPreferredWidth().

void QGraphicsGridLayout::setColumnSpacing(int column, qreal spacing)

设置列column的间距为spacing

另请参阅 列间距

void QGraphicsGridLayout::setColumnStretchFactor(int column, int stretch)

设置列 column 的拉伸因数为 stretch

另请参阅 列拉伸因子

[重写虚函数] void QGraphicsGridLayout::setGeometry(const QRectF &rect)

重实现: QGraphicsLayoutItem::setGeometry(const QRectF &rect)

将网格布局的边界几何形状设置为 rect

void QGraphicsGridLayout::setHorizontalSpacing(qreal spacing)

将网格布局的默认水平间距设置为 spacing

另请参阅 水平间距

void QGraphicsGridLayout::setRowAlignment(int row, Qt::Alignment alignment)

将行 row 的对齐方式设置为 alignment

另请参阅 行对齐

void QGraphicsGridLayout::setRowFixedHeight(int row, qreal height)

将行 row 的固定高度设置为 height

void QGraphicsGridLayout::setRowMaximumHeight(int row, qreal height)

将行 row 的最大高度设置为 height

另请参阅 行最大高度

void QGraphicsGridLayout::setRowMinimumHeight(int row, qreal height)

将行 row 的最小高度设置为 height

另请参阅 行最小高度

void QGraphicsGridLayout::setRowPreferredHeight(int row, qreal height)

将行 row 的首选高度设置为 height

另请参阅 行首选高度

void QGraphicsGridLayout::setRowSpacing(int row, qreal spacing)

将行 row 的间距设置为 spacing

另请参阅 行间距

void QGraphicsGridLayout::setRowStretchFactor(int row, int stretch)

将行 row 的拉伸因数为 stretch

另请参阅 行拉伸因子

void QGraphicsGridLayout::setSpacing(qreal spacing)

设置网格布局的默认间距(垂直和水平)为间距

另请参阅rowSpacing() 和 columnSpacing

void QGraphicsGridLayout::setVerticalSpacing(qreal spacing)

将网格布局的默认垂直间距设置为间距

另请参阅verticalSpacing

[重写虚函数] QSizeF QGraphicsGridLayout::sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const

重新实现: QGraphicsLayoutItem::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const.

qreal QGraphicsGridLayout::verticalSpacing() const

返回网格布局的默认垂直间距。

另请参阅setVerticalSpacing

© 2024 Qt公司。本文件中包含的文档贡献属于其各自所有者的版权。本文件中提供的文档根据自由软件基金会发布的GNU自由文档许可证第1.3版的条款授权。Qt及其相应标志为芬兰以及世界上其他地区的Qt公司的商标。所有其他商标均为各自所有者的财产。