在我的应用程序中有一个由QSplitter分割的窗口,我需要删除一个小部件.
我怎样才能做到这一点?我找不到有用的方法
我不清楚是否要保留小部件并将其放在其他位置,或者如果要销毁小部件.
销毁小部件:如果你可以获得指向小部件的指针,你可以简单地删除它.分离器将被安全地通知其子项被删除并将其从自身中删除.
保留小部件:如果你抓住指向小部件的指针,你可以简单地将其父级设置为其他小部件并将其添加到另一个小部件的布局中,它将显示在那里.这是安全的,因为QSplitter将被通知其子女之一正在被重新分配.
如果要将父级设置为NULL(cjhuitt的答案),请注意您现在负责清理该内存,因为该小组件不再具有父级.
Qt中的许多东西都不能"传统上"被删除.而是在其上调用hide()并销毁它.来自QSplitter文档:
当你隐藏()一个孩子时,它的空间将分配给其他孩子.当你再次显示()它时它将被恢复.