QFormLayout 类
QFormLayout 类管理输入小部件及其相关标签的表单。 更多...
头文件 | #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(QWidget *label, QLayout *field) |
void | addRow(const QString &labelText, QWidget *field) |
void | addRow(const QString &labelText, QLayout *field) |
void | addRow(QWidget *widget) |
void | addRow(QLayout *layout) |
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, QWidget *label, QLayout *field) |
void | insertRow(int row, const QString &labelText, QWidget *field) |
void | insertRow(int row, const QString &labelText, QLayout *field) |
void | insertRow(introw, QWidget *widget) |
void | insertRow(introw, QLayout *layout) |
(since 6.4) bool | isRowVisible(introw) const |
(since 6.4) bool | isRowVisible(QWidget *widget) const |
(since 6.4) bool | isRowVisible(QLayout *layout) const |
QLayoutItem * | itemAt(introw, QFormLayout::ItemRolerole) const |
Qt::Alignment | labelAlignment() const |
QWidget * | labelForField(QWidget *field) const |
QWidget * | labelForField(QLayout *field) const |
void | removeRow(introw) |
void | removeRow(QWidget *widget) |
void | removeRow(QLayout *layout) |
int | rowCount() const |
QFormLayout::RowWrapPolicy | rowWrapPolicy() const |
void | setFieldGrowthPolicy(QFormLayout::FieldGrowthPolicy policy) |
void | setFormAlignment(Qt::Alignment alignment) |
void | setHorizontalSpacing(intspacing) |
void | setItem(introw, QFormLayout::ItemRolerole, QLayoutItem *item) |
void | setLabelAlignment(Qt::Alignmentalignment) |
void | setLayout(introw, QFormLayout::ItemRolerole, QLayout *layout) |
(since 6.4) void | setRowVisible(introw, boolon) |
(since 6.4) void | setRowVisible(QWidget *widget, boolon) |
(since 6.4) void | setRowVisible(QLayout *layout, boolon) |
void | setRowWrapPolicy(QFormLayout::RowWrapPolicypolicy) |
void | setVerticalSpacing(intspacing) |
void | setWidget(introw, QFormLayout::ItemRolerole, QWidget *widget) |
QFormLayout::TakeRowResult | takeRow(introw) |
QFormLayout::TakeRowResult | takeRow(QWidget *widget) |
QFormLayout::TakeRowResult | takeRow(QLayout *layout) |
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(intwidth) const override |
virtual void | invalidate() override |
virtual QLayoutItem * | itemAt(intindex) const override |
virtual QSize | minimumSize() const override |
virtual void | setGeometry(const QRect &rect) override |
virtual void | setSpacing(intspacing) override |
virtual QSize | sizeHint() const override |
virtual int | spacing() const override |
virtual QLayoutItem * | takeAt(intindex) override |
详细描述
QFormLayout是一个便捷的布局类,可以将子项布局为一个两列表单。左侧列包含标签,右侧列包含“字段”小部件(行编辑器、微调框等)。
传统上,这样的两列表单布局是通过使用QGridLayout来实现的。QFormLayout是一个更高级别的替代方案,具有以下优点:
- 符合不同平台的视觉风格指南。
例如,macOS Aqua和KDE指南指出,标签应该是右对齐的,而Windows和GNOME应用程序通常使用左对齐。
- 支持长行换行。
- 创建标签-字段对的方便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 Extended风格 |
---|---|---|---|
用于Windows、GNOME和KDE早期版本的旧传统风格。标签左对齐,扩展字段扩展到可用空间。(这通常相当于使用两列QGridLayout。) | 基于macOS Aqua指南的风格。标签右对齐,字段不会超出其大小提示,表单水平居中。 | 适用于KDE应用程序的推荐风格。类似于MacStyle,不同之处在于表单左对齐,所有字段扩展到可用空间。 | Qt Extended风格的默认风格。标签右对齐,扩展字段扩展到可用空间,并为长行启用了行换行。 |
可以通过调用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。
成员类型文档
枚举QFormLayout::FieldGrowthPolicy
该枚举指定了可以用于控制表单字段增长方式的不同策略。
常数 | 值 | 描述 |
---|---|---|
QFormLayout::FieldsStayAtSizeHint | 0 | 字段从不超出它们的有效大小提示。这是QMacStyle的默认设置。 |
QFormLayout::ExpandingFieldsGrow | 1 | 具有水平大小策略的Expanding或MinimumExpanding的字段将扩展以填满可用空间。其他字段不会超出其有效大小提示。这是Plastique的默认策略。 |
QFormLayout::AllNonFixedFieldsGrow | 2 | 所有允许生长的大小政策的字段都将扩展以填满可用空间。这是大多数风格的默认策略。 |
另请参阅 fieldGrowthPolicy。
枚举 QFormLayout::ItemRole
这个枚举指定了可能出现在行中的小部件(或其他布局项)的类型。
常数 | 值 | 描述 |
---|---|---|
QFormLayout::LabelRole | 0 | 一个标签小部件。 |
QFormLayout::FieldRole | 1 | 一个字段小部件。 |
QFormLayout::SpanningRole | 2 | 一个跨越标签和字段列的小部件。 |
另请参阅 itemAt() 和 getItemPosition()。
枚举 QFormLayout::RowWrapPolicy
此枚举指定可以用来控制表单行包裹方式的不同策略。
常数 | 值 | 描述 |
---|---|---|
QFormLayout::DontWrapRows | 0 | 字段始终布局在它们的标签旁边。这是除了 Qt Extended 样式之外所有样式的默认策略。 |
QFormLayout::WrapLongRows | 1 | 标签被给予足够的水平空间以适应最宽的标签,其余的空间分配给字段。如果字段对的最小大小比可用空间宽,字段将换行。这是 Qt Extended 样式的默认策略。 |
QFormLayout::WrapAllRows | 2 | 字段始终布局在标签下方。 |
另请参阅 rowWrapPolicy。
属性文档
fieldGrowthPolicy : FieldGrowthPolicy
此属性用于定义表单字段的增长方式
默认值取决于小部件或应用程序样式。对于 QMacStyle,其默认值为 FieldsStayAtSizeHint;对于 QCommonStyle 派生的样式(如 Plastique 和 Windows),默认值为 ExpandingFieldsGrow;对于 Qt Extended 样式,默认值为 AllNonFixedFieldsGrow。
如果没有任何字段可以增长,并且表单大小发生变化,则额外空间将根据当前 表单对齐方式 进行动态分配。
访问函数
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
此属性用于定义在水平方向上并排布局的小部件之间的间隔
默认情况下,如果没有显式设置值,布局的水平间隔将从父布局继承,或从父小部件的风格设置中继承。
访问函数
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 Extended风格,默认值为WrapLongRows;对于其他风格,默认值为DontWrapRows。
如果您想在每个标签上方显示与其关联的字段(而非旁边),请将此属性设置为WrapAllRows。
访问函数
QFormLayout::RowWrapPolicy | rowWrapPolicy() const |
void | setRowWrapPolicy(QFormLayout::RowWrapPolicy policy) |
另请参阅 fieldGrowthPolicy。
verticalSpacing : int
此属性保存垂直布局的小部件之间的间隔。
默认情况下,如果没有明确设置值,布局的垂直间隔从父布局或父小部件的风格设置中继承。
访问函数
int | verticalSpacing() const |
void | setVerticalSpacing(int spacing) |
另请参阅horizontalSpacing、QStyle::pixelMetric和PM_LayoutHorizontalSpacing。
成员函数文档
[显式]
QFormLayout::QFormLayout(QWidget *parent = nullptr)
使用指定的parent小部件构建一个新的表单布局。
布局直接设置为parent的顶层布局。一个小部件只能有一个顶层布局。它由QWidget::layout()返回。
另请参阅QWidget::setLayout。
[虚析构 InvalidOperationException]
QFormLayout::~QFormLayout()
销毁表单布局。
[重写虚拟]
void QFormLayout::addItem(QLayoutItem *item)
重新实现:QLayout::addItem(QLayoutItem *item)。
void QFormLayout::addRow(QWidget *label, QWidget *field)
将带有给定label和field的新行添加到表单布局的底部。
另请参阅insertRow。
void QFormLayout::addRow(QWidget *label, QLayout *field)
这是一个重载函数。
void QFormLayout::addRow(const QString &labelText, QWidget *field)
这是一个重载函数。
此重载函数将在幕后自动创建一个带有文本 labelText 的 QLabel。将 field 设置为新的 QLabel 的 buddy。
void QFormLayout::addRow(const QString &labelText, QLayout *field)
这是一个重载函数。
此重载函数将在幕后自动创建一个带有文本 labelText 的 QLabel。
void QFormLayout::addRow(QWidget *widget)
这是一个重载函数。
将指定的 widget 添加到表单布局的末尾。该 widget 将跨越两列。
void QFormLayout::addRow(QLayout *layout)
这是一个重载函数。
将指定的 layout 添加到表单布局的末尾。该 layout 将跨越两列。
[继承虚拟]
int QFormLayout::count() const
重新实现: QLayout::count() const。
[继承虚拟]
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。
[覆盖虚拟]
bool QFormLayout::hasHeightForWidth() const
重新实现:QLayoutItem::hasHeightForWidth() const。
[覆盖虚拟]
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, QWidget *label, QLayout *field)
这是一个重载函数。
void QFormLayout::insertRow(int row, const QString &labelText, QWidget *field)
这是一个重载函数。
此重载函数将在幕后自动创建一个带有文本 labelText 的 QLabel。将 field 设置为新的 QLabel 的 buddy。
void QFormLayout::insertRow(int row, const QString &labelText, QLayout *field)
这是一个重载函数。
此重载函数将在幕后自动创建一个带有文本 labelText 的 QLabel。
void QFormLayout::insertRow(int row, QWidget *widget)
这是一个重载函数。
在此表单布局中插入指定 widget,位置为 row。该 widget 扩展到两个列。如果 row 超出范围,则控件添加到末尾。
void QFormLayout::insertRow(int row, QLayout *layout)
这是一个重载函数。
在此表单布局中插入指定 layout,位置为 row。该 layout 扩展到两个列。如果 row 超出范围,则控件添加到末尾。
[覆盖虚拟]
void QFormLayout::invalidate()
重新实现:QLayout::invalidate。
[自 6.4 版本以来]
bool QFormLayout::isRowVisible(int row) const
如果行的某些项是可见的,则返回 true,否则返回 false。
此函数是在 Qt 6.4 中引入的。
[自6.4起]
bool QFormLayout::isRowVisible(QWidget *widget) const
这是一个重载函数。
如果与widget对应的行中的一些条目是可见的,则返回 true,否则返回 false。
此函数是在 Qt 6.4 中引入的。
[自6.4起]
bool QFormLayout::isRowVisible(QLayout *layout) const
这是一个重载函数。
如果与layout对应的行中的一些条目是可见的,则返回 true,否则返回 false。
此函数是在 Qt 6.4 中引入的。
QLayoutItem *QFormLayout::itemAt(int row, QFormLayout::ItemRole role) const
返回给定row和指定的role(列)的布局项。如果没有这样的项,则返回 nullptr
。
另请参阅QLayout::itemAt() 和 setItem()。
[重写虚函数]
QLayoutItem *QFormLayout::itemAt(int index) const
重新实现: QLayout::itemAt(int index) const.
QWidget *QFormLayout::labelForField(QWidget *field) const
返回与给定field相关联的标签。
另请参阅itemAt()。
QWidget *QFormLayout::labelForField(QLayout *field) const
这是一个重载函数。
[重写虚函数]
QSize QFormLayout::minimumSize() const
重新实现: QLayout::minimumSize() const.
void QFormLayout::removeRow(int row)
从此表单布局中删除行row。
row必须是非负数,并且小于rowCount()。
在此调用后,rowCount()减一。此行占用的所有小部件和嵌套布局都将被删除。这包括字段小部件(s)和标签(如果有的话)。所有后续行都将上移一行,释放的垂直空间将在剩余行之间重新分配。
您可以使用此函数撤消之前的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(QWidget *widget)
这是一个重载函数。
从此表单布局中删除与widget对应的行。
在此调用后,rowCount()减一。此行占用的所有小部件和嵌套布局都将被删除。这包括字段小部件(s)和标签(如果有的话)。所有后续行都将上移一行,释放的垂直空间将在剩余行之间重新分配。
您可以使用此函数撤消之前的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()。
void QFormLayout::removeRow(QLayout *layout)
这是一个重载函数。
从此表单布局中删除与layout对应的行。
在此调用后,rowCount()减一。此行占用的所有小部件和嵌套布局都将被删除。这包括字段小部件(s)和标签(如果有的话)。所有后续行都将上移一行,释放的垂直空间将在剩余行之间重新分配。
您可以使用此函数撤消之前的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()。
int QFormLayout::rowCount() const
返回表单中的行数。
另请参阅QLayout::count().
[重写虚函数]
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为true,则显示行row,否则隐藏该行。
row必须是非负数,并且小于rowCount()。
此函数是在 Qt 6.4 中引入的。
另请参阅isRowVisible()、removeRow()和takeRow().
[since 6.4]
void QFormLayout::setRowVisible(QWidget *widget, bool on)
这是一个重载函数。
如果on为true,则显示与widget对应的行,否则隐藏该行。
此函数是在 Qt 6.4 中引入的。
[since 6.4]
void QFormLayout::setRowVisible(QLayout *layout, bool on)
这是一个重载函数。
如果on为true,则显示与layout对应的行,否则隐藏该行。
此函数是在 Qt 6.4 中引入的。
[覆盖虚函数]
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 并且向控制台发送错误消息。
注意:对于大多数应用程序,最好使用 addRow() 或 insertRow() 而不是 setWidget()。
另请参阅setLayout().
[覆盖虚函数]
QSize QFormLayout::sizeHint() const
重新实现了: QLayoutItem::sizeHint() const。
[覆盖虚函数]
int QFormLayout::spacing() const
重新实现了属性: QLayout::spacing 的访问函数。
如果垂直间隔等于水平间隔,此函数返回该值;否则返回 -1。
另请参阅 setSpacing()、verticalSpacing() 和 horizontalSpacing()。
[覆盖虚函数]
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(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()。
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()。
版权所有© 2024 The Qt Company Ltd. 本文档内包含的贡献的文档版权归其所有者所有。本提供文档在自由软件基金会发布的GNU自由文档许可协议版本1.3条款下发布。Qt及其相关标志是The Qt Company Ltd.在芬兰以及 worldwide 的商标。所有其他商标皆为其各自所有者的财产。