惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
爱范儿
爱范儿
P
Proofpoint News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
J
Java Code Geeks
宝玉的分享
宝玉的分享
Jina AI
Jina AI
B
Blog
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
aimingoo的专栏
aimingoo的专栏
腾讯CDC
C
Check Point Blog
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
罗磊的独立博客
B
Blog RSS Feed
WordPress大学
WordPress大学
小众软件
小众软件
博客园 - 叶小钗
M
MIT News - Artificial intelligence
GbyAI
GbyAI

博客园 - 上位机

wkhtmltopdf chart.js 浏览器打开html是正常的,输出pdf时,图表时无法显示问题 opencv 4.x 静态编译后 录像视频保存为h264 vtkImageData的GetScalarPointer参数范围和SetExtent的范围相关 opencv imshow 大图片显示,拖动显示 Qt QTtoolButton 鼠标移动到按钮上时,弹出菜单后,按钮的hover状态无法恢复的问题 std的map或者set中,比较浮点类型二维三维数据 Qt 子窗口 隐藏标题栏的图标,在任务栏上的不显示 windbg 调试 c++ std::exception VS C++ 出现debug assertion failed弹框,怎么定位代码 QTabWidget的高度取决于当前选项卡的高度 Qt tr 无法翻译 Qt 窗口随控件变换大小 vtkCellLocator IntersectWithLine 返回不是最近的交点 设置QToolBar的Action图标之间的间隔 Visual Studio 2017 rc 资源文件 预处理 宏 无效 Qt No Target Architecture vtkDelaunay2D 错误 Edge not recovered, polygon fill suspect VTK vtkAssembly 拾取 Qt 在线程中invokeMethod采用QueuedConnection模式,调用带指针参数槽,实际不会调用
Qt 5 QFormLayout 隐藏一行 或 重新布局
上位机 · 2025-06-16 · via 博客园 - 上位机

Qt 5 QFormLayout 隐藏一行 或 重新布局 通过takeRow删除指定行,且不删除对应的label和field的QWidget,这些QWidget由自己管理。

初始化QFormLayout ,并保存lb1,le1,lb2,le2

lb1 = new QLabel("11111");
le1= new QLineEdit(ui->centralwidget);
ui->formLayout->addRow(lb1 ,le1);

lb2 = new QLabel("22222");
le2= new QLineEdit(ui->centralwidget);
ui->formLayout->addRow(lb2 ,le2);

在需要更新布局时,先takeRow,然释放labelItem和fieldItem的内存,并且需要隐藏lb和le。

for(int i=ui->formLayout->rowCount()-1;i>=0;--i)
{
    QFormLayout::TakeRowResult result = ui->formLayout->takeRow(i);

    QWidget* lb = result.labelItem->widget();
    QWidget* le = result.fieldItem->widget();

    lb->hide();
    le->hide();

    delete result.labelItem;
    delete result.fieldItem;
}    

 然后重新addRow指定行,在加入前重新显示lb和le

lb2->show();
le2->show();
ui->formLayout->addRow(lb2,le2);