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


网友评论