QGridLayout delete item

今天又碰到删除一个元素时候,删除不掉的情况。
记得通常会在QTableWidget、QTreeWidget或者QLayout上想要移除某一个元素。于是就会找移除元素的成员函数,尝试不对就跑到网上查找,通常会得到解决方案。
不过回过头来,其实删除某个布局或者控件的子元素的方式是相似的。
但需要注意到成员函数的意义。
比如:QLayout的takeIt和ItemAt,二者都会返回一个QLayoutItem *元素,于是想当然就找到某个元素然后调用相关remove函数。
但在这里可能要deleteWidget或者要手动delete掉元素。

一个解决方案,可以去看看是否有效
Removing widgets from QGridLayout

QGridLayout delete item_第1张图片
takeAt
QGridLayout delete item_第2张图片
itemAt

你可能感兴趣的:(QGridLayout delete item)