QFormLayout Class
QFormLayout 类管理输入部件的窗体及其相关标签。更多
Header: | #include <QFormLayout> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
继承: | QLayout |
公共类型
struct | TakeRowResult |
enum | FieldGrowthPolicy { FieldsStayAtSizeHint, ExpandingFieldsGrow, AllNonFixedFieldsGrow } |
enum | ItemRole { LabelRole, FieldRole, SpanningRole } |
enum | RowWrapPolicy { DontWrapRows, WrapLongRows, WrapAllRows } |
属性
|
|
公共函数
QFormLayout(QWidget *parent = nullptr) | |
virtual | ~QFormLayout() |
void | addRow(QWidget *label, QWidget *field) |
void | addRow(QLayout *layout) |
void | addRow(QWidget *widget) |
void | addRow(QWidget *label, QLayout *field) |
void | addRow(const QString &labelText, QLayout *field) |
void | addRow(const QString &labelText, QWidget *field) |
QFormLayout::FieldGrowthPolicy | fieldGrowthPolicy() const |
Qt::Alignment | formAlignment() const |
void | getItemPosition(int index, int *rowPtr, QFormLayout::ItemRole *rolePtr) const |
void | getLayoutPosition(QLayout *layout, int *rowPtr, QFormLayout::ItemRole *rolePtr) const |
void | getWidgetPosition(QWidget *widget, int *rowPtr, QFormLayout::ItemRole *rolePtr) const |
int | horizontalSpacing() const |
void | insertRow(int row, QWidget *label, QWidget *field) |
void | insertRow(int row, QLayout *layout) |
void | insertRow(int row, QWidget *widget) |
void | insertRow(int row, QWidget *label, QLayout *field) |
void | insertRow(int row, const QString &labelText, QLayout *field) |
void | insertRow(int row, const QString &labelText, QWidget *field) |
(since 6.4) bool | isRowVisible(int row) const |
(since 6.4) bool | isRowVisible(QLayout *layout) const |
(since 6.4) bool | isRowVisible(QWidget *widget) const |
QLayoutItem * | itemAt(int row, QFormLayout::ItemRole role) const |
Qt::Alignment | labelAlignment() const |
QWidget * | labelForField(QWidget *field) const |
QWidget * | labelForField(QLayout *field) const |
void | removeRow(int row) |
void | removeRow(QLayout *layout) |
void | removeRow(QWidget *widget) |
int | rowCount() const |
QFormLayout::RowWrapPolicy | rowWrapPolicy() const |
void | setFieldGrowthPolicy(QFormLayout::FieldGrowthPolicy policy) |
void | setFormAlignment(Qt::Alignment alignment) |
void | setHorizontalSpacing(int spacing) |
void | setItem(int row, QFormLayout::ItemRole role, QLayoutItem *item) |
void | setLabelAlignment(Qt::Alignment alignment) |
void | setLayout(int row, QFormLayout::ItemRole role, QLayout *layout) |
(since 6.4) void | setRowVisible(int row, bool on) |
(since 6.4) void | setRowVisible(QLayout *layout, bool on) |
(since 6.4) void | setRowVisible(QWidget *widget, bool on) |
void | setRowWrapPolicy(QFormLayout::RowWrapPolicy policy) |
void | setVerticalSpacing(int spacing) |
void | setWidget(int row, QFormLayout::ItemRole role, QWidget *widget) |
QFormLayout::TakeRowResult | takeRow(int row) |
QFormLayout::TakeRowResult | takeRow(QLayout *layout) |
QFormLayout::TakeRowResult | takeRow(QWidget *widget) |
int | verticalSpacing() const |
重新实现的公共函数
virtual void | addItem(QLayoutItem *item) override |
virtual int | count() const override |
virtual Qt::Orientations | expandingDirections() const override |
virtual bool | hasHeightForWidth() const override |
virtual int | heightForWidth(int width) const override |
virtual void | invalidate() override |
virtual QLayoutItem * | itemAt(int index) const override |
virtual QSize | minimumSize() const override |
virtual void | setGeometry(const QRect &rect) override |
virtual void | setSpacing(int spacing) override |
virtual QSize | sizeHint() const override |
virtual int | spacing() const override |
virtual QLayoutItem * | takeAt(int index) override |
详细说明
QFormLayout 是一个方便的布局类,它以两栏形式布局其子类。左栏由标签组成,右栏由 "字段 "部件(行编辑器、旋转框等)组成。
传统上,这种双栏表单布局是通过QGridLayout 实现的。QFormLayout 是一种更高级别的替代方案,具有以下优点:
- 符合不同平台的外观指南。
例如,macOS Aqua和 KDE 指南规定标签应采用右对齐方式,而 Windows 和 GNOME 应用程序通常采用左对齐方式。
- 支持包裹长行。
对于显示屏较小的设备,QFormLayout 可以设置为wrap long rows ,甚至wrap all rows 。
- 创建标签-字段对的便捷 API。
addRow() 重载会接收一个QString 和一个QWidget * 在幕后创建一个QLabel 并自动设置其好友。这样,我们就可以编写这样的代码:
QFormLayout *formLayout = new QFormLayout(this); formLayout->addRow(tr("&Name:"), nameLineEdit); formLayout->addRow(tr("&Email:"), emailLineEdit); formLayout->addRow(tr("&Age:"), ageSpinBox);
将其与使用QGridLayout 编写的以下代码进行比较:
QGridLayout *gridLayout = new QGridLayout(this); nameLabel = new QLabel(tr("&Name:")); nameLabel->setBuddy(nameLineEdit); emailLabel = new QLabel(tr("&Name:")); emailLabel->setBuddy(emailLineEdit); ageLabel = new QLabel(tr("&Name:")); ageLabel->setBuddy(ageSpinBox); gridLayout->addWidget(nameLabel, 0, 0); gridLayout->addWidget(nameLineEdit, 0, 1); gridLayout->addWidget(emailLabel, 1, 0); gridLayout->addWidget(emailLineEdit, 1, 1); gridLayout->addWidget(ageLabel, 2, 0); gridLayout->addWidget(ageSpinBox, 2, 1);
下表显示了不同样式下的默认外观。
QCommonStyle 派生样式(QPlastiqueStyle 除外) | QMacStyle | QPlastiqueStyle | Qt 扩展样式 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
用于 Windows、GNOME 和 KDE 早期版本的传统样式。标签左对齐,扩展字段不断扩大以填充可用空间。(这通常相当于我们使用双栏QGridLayout 时的效果)。 | 基于macOS Aqua指南的样式。标签右对齐,字段不会超出其大小提示,表单水平居中。 | 推荐用于 KDE 应用程序的样式。与 MacStyle 类似,但表单靠左对齐,所有字段都会增长以填充可用空间。 | Qt 扩展样式的默认样式。标签采用右对齐方式,扩展字段会增长以填充可用空间,长行会启用行包装。 |
也可以通过调用setLabelAlignment(),setFormAlignment(),setFieldGrowthPolicy() 和setRowWrapPolicy() 单独重写表单样式。例如,要在所有平台上模拟 QMacStyle 的表单布局外观,但标签要左对齐,你可以写下
formLayout->setRowWrapPolicy(QFormLayout::DontWrapRows); formLayout->setFieldGrowthPolicy(QFormLayout::FieldsStayAtSizeHint); formLayout->setFormAlignment(Qt::AlignHCenter | Qt::AlignTop); formLayout->setLabelAlignment(Qt::AlignLeft);
另请参见 QGridLayout,QBoxLayout, 和QStackedLayout 。
成员类型文档
enum QFormLayout::FieldGrowthPolicy
该枚举指定了可用于控制表单字段增长方式的不同策略。
常数 | 值 | 说明 |
---|---|---|
QFormLayout::FieldsStayAtSizeHint | 0 | 字段永远不会超出其effective size hint 。这是 QMacStyle 的默认设置。 |
QFormLayout::ExpandingFieldsGrow | 1 | 水平size policy 为Expanding 或MinimumExpanding 的字段将增长以填充可用空间。其他字段的增长不会超过其有效尺寸提示。这是 Plastique 的默认策略。 |
QFormLayout::AllNonFixedFieldsGrow | 2 | 尺寸策略允许增长的所有字段都将增长以填充可用空间。这是大多数样式的默认策略。 |
另请参阅 fieldGrowthPolicy 。
enum QFormLayout::ItemRole
该枚举指定了可出现在一行中的部件(或其他布局项)类型。
常数 | 值 | 描述 |
---|---|---|
QFormLayout::LabelRole | 0 | 标签部件。 |
QFormLayout::FieldRole | 1 | 字段 widget。 |
QFormLayout::SpanningRole | 2 | 跨越标签列和字段列的部件。 |
另请参阅 itemAt() 和getItemPosition()。
enum QFormLayout::RowWrapPolicy
该枚举指定了可用于控制表单行换行方式的不同策略。
常量 | 值 | 说明 |
---|---|---|
QFormLayout::DontWrapRows | 0 | 字段总是紧靠标签排列。这是所有样式的默认策略,Qt 扩展样式除外。 |
QFormLayout::WrapLongRows | 1 | 标签有足够的水平空间容纳最宽的标签,其余空间留给字段。如果字段对的最小尺寸大于可用空间,字段将被包装到下一行。这是 Qt 扩展样式的默认策略。 |
QFormLayout::WrapAllRows | 2 | 字段始终位于标签下方。 |
另请参阅 rowWrapPolicy 。
属性文档
fieldGrowthPolicy : FieldGrowthPolicy
该属性表示表单字段的增长方式。
默认值取决于部件或应用程序样式。对于 QMacStyle,默认值为FieldsStayAtSizeHint ;对于QCommonStyle 派生样式(如 Plastique 和 Windows),默认值为ExpandingFieldsGrow ;对于 Qt XML Extended 样式,默认值为AllNonFixedFieldsGrow 。
如果所有字段都无法增长,而表单又被调整了大小,那么额外空间将根据当前form alignment 分配。
访问功能:
QFormLayout::FieldGrowthPolicy | fieldGrowthPolicy() const |
void | setFieldGrowthPolicy(QFormLayout::FieldGrowthPolicy policy) |
另请参阅 formAlignment 和rowWrapPolicy 。
formAlignment : Qt::Alignment
该属性用于设置表单布局内容在布局几何图形中的对齐方式。
默认值取决于部件或应用程序样式。对于 QMacStyle,默认值为Qt::AlignHCenter |Qt::AlignTop ;对于其他样式,默认值为Qt::AlignLeft |Qt::AlignTop 。
访问函数:
Qt::Alignment | formAlignment() const |
void | setFormAlignment(Qt::Alignment alignment) |
另请参阅 labelAlignment 和rowWrapPolicy 。
horizontalSpacing : int
该属性用于保存并排布局的 widget 之间的间距。
默认情况下,如果没有显式设置值,布局的水平间距将从父布局或父 widget 的样式设置中继承。
访问功能:
int | horizontalSpacing() const |
void | setHorizontalSpacing(int spacing) |
另请参阅 verticalSpacing 、QStyle::pixelMetric() 和PM_LayoutHorizontalSpacing 。
labelAlignment : Qt::Alignment
该属性用于设置标签的水平对齐方式。
默认值取决于部件或应用程序的样式。对于QCommonStyle 派生样式(QPlastiqueStyle 除外),默认值为Qt::AlignLeft ;对于其他样式,默认值为Qt::AlignRight 。
访问函数:
Qt::Alignment | labelAlignment() const |
void | setLabelAlignment(Qt::Alignment alignment) |
另请参阅 formAlignment 。
rowWrapPolicy : RowWrapPolicy
该属性用于设置表单行的换行方式。
默认值取决于部件或应用程序的样式。对于 Qt XML 扩展样式,默认值为WrapLongRows ;对于其他样式,默认值为DontWrapRows 。
如果您想将每个标签显示在相关字段的上方(而不是旁边),请将此属性设置为WrapAllRows 。
访问功能:
QFormLayout::RowWrapPolicy | rowWrapPolicy() const |
void | setRowWrapPolicy(QFormLayout::RowWrapPolicy policy) |
另请参阅 fieldGrowthPolicy 。
verticalSpacing : int
该属性用于保存垂直布局的 widget 之间的间距。
默认情况下,如果没有显式设置值,布局的垂直间距将从父布局或父 widget 的样式设置中继承。
访问功能:
int | verticalSpacing() const |
void | setVerticalSpacing(int spacing) |
另请参阅 horizontalSpacing 、QStyle::pixelMetric() 和PM_LayoutHorizontalSpacing 。
成员函数文档
[explicit]
QFormLayout::QFormLayout(QWidget *parent = nullptr)
使用给定的parent widget 构建一个新的表单布局。
该布局将直接设置为parent 的顶级布局。一个 widget 只能有一个顶级布局。它由QWidget::layout() 返回。
另请参阅 QWidget::setLayout()。
[virtual noexcept]
QFormLayout::~QFormLayout()
销毁表格布局。
[override virtual]
void QFormLayout::addItem(QLayoutItem *item)
重实现:QLayout::addItem(QLayoutItem *item).
void QFormLayout::addRow(QWidget *label, QWidget *field)
在此表单布局的底部添加新的一行,行号为label 和field 。
另请参见 insertRow()。
void QFormLayout::addRow(QLayout *layout)
这是一个重载函数。
在此表单布局的末尾添加指定的layout 。layout 跨两列。
void QFormLayout::addRow(QWidget *widget)
这是一个重载函数。
在此表单布局的末尾添加指定的widget 。widget 跨两列。
void QFormLayout::addRow(QWidget *label, QLayout *field)
这是一个重载函数。
void QFormLayout::addRow(const QString &labelText, QLayout *field)
这是一个重载函数。
该重载函数会在后台自动创建一个QLabel ,文本为labelText 。
void QFormLayout::addRow(const QString &labelText, QWidget *field)
这是一个重载函数。
该重载会在后台自动创建一个QLabel ,其文本为labelText 。field 将被设置为新的QLabel 的buddy 。
[override virtual]
int QFormLayout::count() const
重实现:QLayout::count() const.
[override virtual]
Qt::Orientations QFormLayout::expandingDirections() const
重实现:QLayout::expandingDirections() const.
void QFormLayout::getItemPosition(int index, int *rowPtr, QFormLayout::ItemRole *rolePtr) const
读取指定index 项目的行和角色(列)。如果index 越界,则 *rowPtr 设置为-1;否则,行存储在 *rowPtr 中,角色存储在 *rolePtr 中。
另请参阅 itemAt(),count(),getLayoutPosition() 和getWidgetPosition() 。
void QFormLayout::getLayoutPosition(QLayout *layout, int *rowPtr, QFormLayout::ItemRole *rolePtr) const
读取指定子layout 的行和角色(列)。如果layout 不在表单布局中,则 *rowPtr 设置为-1;否则,行存储在 *rowPtr 中,角色存储在 *rolePtr 中。
void QFormLayout::getWidgetPosition(QWidget *widget, int *rowPtr, QFormLayout::ItemRole *rolePtr) const
读取布局中指定widget 的行和角色(列)。如果widget 不在布局中,*rowPtr 将被设置为-1;否则,行存储在 *rowPtr 中,角色存储在 *rolePtr 中。
另请参阅 getItemPosition() 和itemAt() 。
[override virtual]
bool QFormLayout::hasHeightForWidth() const
重实现:QLayoutItem::hasHeightForWidth() const.
[override virtual]
int QFormLayout::heightForWidth(int width) const
重实现:QLayoutItem::heightForWidth(int) const.
void QFormLayout::insertRow(int row, QWidget *label, QWidget *field)
在此表格布局中的row 位置插入新行,给定的label 和field 。如果row 越界,则在末尾添加新行。
另请参见 addRow()。
void QFormLayout::insertRow(int row, QLayout *layout)
这是一个重载函数。
在此表单布局的row 位置插入指定的layout 。layout 跨两列。如果row 越界,则在末尾添加 widget。
void QFormLayout::insertRow(int row, QWidget *widget)
这是一个重载函数。
在此表单布局的row 位置插入指定的widget 。widget 跨两列。如果row 越界,则在末尾添加 widget。
void QFormLayout::insertRow(int row, QWidget *label, QLayout *field)
这是一个重载函数。
void QFormLayout::insertRow(int row, const QString &labelText, QLayout *field)
这是一个重载函数。
该重载函数会在后台自动创建一个QLabel ,文本为labelText 。
void QFormLayout::insertRow(int row, const QString &labelText, QWidget *field)
这是一个重载函数。
该重载会在后台自动创建一个QLabel ,其文本为labelText 。field 将被设置为新的QLabel 的buddy 。
[override virtual]
void QFormLayout::invalidate()
重新实现:QLayout::invalidate().
[since 6.4]
bool QFormLayout::isRowVisible(int row) const
如果行row 中的某些项目可见,则返回 true,否则返回 false。
此函数在 Qt 6.4 中引入。
[since 6.4]
bool QFormLayout::isRowVisible(QLayout *layout) const
这是一个重载函数。
如果layout 所对应行中的某些项目可见,则返回 true,否则返回 false。
此函数在 Qt 6.4 中引入。
[since 6.4]
bool QFormLayout::isRowVisible(QWidget *widget) const
这是一个重载函数。
如果widget 所对应行中的某些项目可见,则返回 true,否则返回 false。
此函数在 Qt 6.4 中引入。
[override virtual]
QLayoutItem *QFormLayout::itemAt(int index) const
重实现:QLayout::itemAt(int index) const.
QLayoutItem *QFormLayout::itemAt(int row, QFormLayout::ItemRole role) const
返回row 中指定role (列)的布局项。如果没有布局项,则返回nullptr
。
另请参阅 QLayout::itemAt() 和setItem()。
QWidget *QFormLayout::labelForField(QWidget *field) const
返回与给定field 相关的标签。
另请参阅 itemAt() 。
QWidget *QFormLayout::labelForField(QLayout *field) const
这是一个重载函数。
[override virtual]
QSize QFormLayout::minimumSize() const
重实现:QLayout::minimumSize() const.
void QFormLayout::removeRow(int row)
从表格布局中删除行row 。
row 必须为非负数,且小于 ()。rowCount
调用后,rowCount() 将递减 1。占用该行的所有部件和嵌套布局都将被删除。这包括字段部件和标签(如果有)。所有后续行将上移一行,腾出的垂直空间将重新分配给其余各行。
您可以使用该函数撤销之前的addRow() 或insertRow():
QFormLayout *flay = ...; QPointer<QLineEdit> le = new QLineEdit; flay->insertRow(2, "User:", le); // later: flay->removeRow(2); // le == nullptr at this point
如果想在不删除部件的情况下从布局中删除行,请使用takeRow() 代替。
另请参见 takeRow()。
void QFormLayout::removeRow(QLayout *layout)
这是一个重载函数。
从表单布局中删除与layout 对应的行。
调用后,rowCount() 将递减 1。占用该行的所有部件和嵌套布局都将被删除。这包括字段部件和标签(如果有)。所有后续行将上移一行,腾出的垂直空间将重新分配给其余各行。
您可以使用该函数撤销之前的addRow() 或insertRow():
QFormLayout *flay = ...; QPointer<QVBoxLayout> vbl = new QVBoxLayout; flay->insertRow(2, "User:", vbl); // later: flay->removeRow(layout); // vbl == nullptr at this point
如果要从表单布局中删除行而不删除插入的布局,请使用takeRow() 代替。
另请参见 takeRow()。
void QFormLayout::removeRow(QWidget *widget)
这是一个重载函数。
从表单布局中删除与widget 对应的行。
调用后,rowCount() 将递减 1。占用该行的所有部件和嵌套布局都将被删除。这包括字段部件和标签(如果有)。所有后续行将上移一行,腾出的垂直空间将重新分配给其余各行。
您可以使用该函数撤销之前的addRow() 或insertRow():
QFormLayout *flay = ...; QPointer<QLineEdit> le = new QLineEdit; flay->insertRow(2, "User:", le); // later: flay->removeRow(le); // le == nullptr at this point
如果想在不删除部件的情况下从布局中删除行,请使用takeRow() 代替。
另请参见 takeRow()。
int QFormLayout::rowCount() const
返回表格的行数。
另请参阅 QLayout::count()。
[override virtual]
void QFormLayout::setGeometry(const QRect &rect)
重实现:QLayout::setGeometry(const QRect &r).
void QFormLayout::setItem(int row, QFormLayout::ItemRole role, QLayoutItem *item)
将给定row 中的项目设置为给定role 的item ,必要时用空行扩展布局。
如果单元格已被占用,则不会插入item ,并向控制台发送错误信息。item 跨两列。
另请参阅 setLayout()。
void QFormLayout::setLayout(int row, QFormLayout::ItemRole role, QLayout *layout)
将row 中给定role 的子布局设置为layout ,必要时用空行扩展表单布局。
如果单元格已被占用,则不会插入layout ,并向控制台发送错误信息。
注:对于大多数应用程序,应使用addRow() 或insertRow() 代替 setLayout()。
另请参阅 setWidget()。
[since 6.4]
void QFormLayout::setRowVisible(int row, bool on)
如果on 为真,则显示行row ,否则隐藏该行。
row 必须是非负值,且小于 ()。rowCount
此函数在 Qt 6.4 中引入。
另请参阅 isRowVisible()、removeRow() 和takeRow()。
[since 6.4]
void QFormLayout::setRowVisible(QLayout *layout, bool on)
这是一个重载函数。
如果on 为 true,则显示与layout 对应的行,否则隐藏该行。
此函数在 Qt 6.4 中引入。
[since 6.4]
void QFormLayout::setRowVisible(QWidget *widget, bool on)
这是一个重载函数。
如果on 为 true,则显示与widget 对应的行,否则隐藏该行。
此函数在 Qt 6.4 中引入。
[override virtual]
void QFormLayout::setSpacing(int spacing)
重构属性访问函数:QLayout::spacing 。
该函数将垂直和水平间距都设置为spacing 。
另请参见 spacing()、setVerticalSpacing() 和setHorizontalSpacing()。
void QFormLayout::setWidget(int row, QFormLayout::ItemRole role, QWidget *widget)
将row 中给定role 的 widget 设置为widget ,必要时用空行扩展布局。
如果单元格已被占用,则不会插入widget ,并向控制台发送错误信息。
注:对于大多数应用程序,应使用addRow() 或insertRow() 代替 setWidget()。
另请参阅 setLayout()。
[override virtual]
QSize QFormLayout::sizeHint() const
重实现:QLayoutItem::sizeHint() const.
[override virtual]
int QFormLayout::spacing() const
重新实现属性:QLayout::spacing 的访问函数。
如果垂直间距等于水平间距,该函数返回该值;否则返回-1。
另请参见 setSpacing()、verticalSpacing() 和horizontalSpacing()。
[override virtual]
QLayoutItem *QFormLayout::takeAt(int index)
重实现:QLayout::takeAt(int index)。
QFormLayout::TakeRowResult QFormLayout::takeRow(int row)
从该表格布局中删除指定的row 。
row 必须为非负数且小于 ().rowCount
注意: 此函数不会删除任何内容。
调用此函数后,rowCount() 将递减 1。所有后续行将上移一行,腾出的垂直空间将重新分配给其余各行。
您可以使用该函数撤销之前的addRow() 或insertRow():
QFormLayout *flay = ...; QPointer<QLineEdit> le = new QLineEdit; flay->insertRow(2, "User:", le); // later: QFormLayout::TakeRowResult result = flay->takeRow(2);
如果想从布局中移除该行并删除部件,请使用removeRow() 代替。
返回 包含部件和相应标签布局项的结构
另请参见 removeRow()。
QFormLayout::TakeRowResult QFormLayout::takeRow(QLayout *layout)
这是一个重载函数。
从该表单布局中删除指定的layout 。
注意: 此函数不会删除任何内容。
调用此函数后,rowCount() 将递减 1。所有后续行将上移一行,腾出的垂直空间将重新分配给其余各行。
QFormLayout *flay = ...; QPointer<QVBoxLayout> vbl = new QVBoxLayout; flay->insertRow(2, "User:", vbl); // later: QFormLayout::TakeRowResult result = flay->takeRow(widget);
如果要从表单布局中移除该行并删除插入的布局,请使用removeRow() 代替。
返回包含部件和相应标签布局项的结构
另请参见 removeRow()。
QFormLayout::TakeRowResult QFormLayout::takeRow(QWidget *widget)
这是一个重载函数。
从该表单布局中删除指定的widget 。
注意: 此函数不会删除任何内容。
调用此函数后,rowCount() 将递减 1。所有后续行将上移一行,腾出的垂直空间将重新分配给其余各行。
QFormLayout *flay = ...; QPointer<QLineEdit> le = new QLineEdit; flay->insertRow(2, "User:", le); // later: QFormLayout::TakeRowResult result = flay->takeRow(widget);
如果想从布局中删除该行并删除部件,请使用removeRow() 代替。
返回包含部件和相应标签布局项的结构
另请参见 removeRow()。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.