QGraphicsGridLayout 类
QGraphicsGridLayout 类提供用于在 Graphics View 中管理小部件的网格布局。 更多...
头文件 | #include <QGraphicsGridLayout> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
继承 | QGraphicsLayout |
公共函数
QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr) | |
虚的 | ~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 override |
virtual void | invalidate() override |
virtual QGraphicsLayoutItem * | itemAt(int index) const override |
virtual void | removeAt(int index) override |
virtual void | setGeometry(const QRectF &rect) override |
virtual QSizeF | sizeHint(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()分别来设置整个行或列的对齐方式。默认情况下,项对齐到左上方。
另请参阅 QGraphicsLinearLayout 和 QGraphicsWidget.
成员函数文档
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 添加到网格的 row 和 column 位置。您可以为 rowSpan 和 columnSpan 以及可选的 alignment 进行指定。
void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment())
将 item 添加到网格的 row 和 column 位置。您可以指定 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公司的商标。所有其他商标均为各自所有者的财产。