如何在QFormLayout中隐藏一行后删除剩余间距

时间:2013-08-01 05:54:39

标签: qt layout

通过以下代码隐藏行

field.hide()
formLayout.labelForField(field).hide()

上述一个缺点是,当行中的项目被隐藏时,行的上方和下方的间距仍然存在,也就是说,隐藏行上方和下方的行看起来比其他项目中的其他项目分散得更远。布局。如何在QFormLayout中隐藏一行后删除剩余间距?

1 个答案:

答案 0 :(得分:3)

隐藏:

field->hide();
label->hide();
formLayout->removeWidget(field);
formLayout->removeWidget(label);

显示:

formLayout->insertRow(row, label, field);
label->show();
field->show();