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

标签 qt layout

通过以下代码隐藏一行

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

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

最佳答案

隐藏:

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

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

关于qt - 如何在QFormLayout中隐藏一行后删除剩余间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17986164/

相关文章:

html - 将一个 div 定位在另一个 div 的底部

javascript - 如何将文本与居中文本的左侧对齐?

html - 布局问题(twitter bootstrap): adding additional column hides the main menu

c++ - Qt:即使失去焦点也将子窗口保持在父窗口之上

c++ - Qt 表最后一列没有拉伸(stretch)以填充父级

c++ - Qt:如何在任何 Windows 机器上使用路径创建文件?

c++ - QTcpSocket - 扩展 QRunnable 时指定了无效句柄

c++ - 如何在多线程中使用模板类型作为槽和信号参数?

android - android什么时候开始布局?

c++ - QFileSystemModel 中的文件是灰色的