当前位置:  开发笔记 > 程序员 > 正文

如何从QSplitter中删除QWidgets

如何解决《如何从QSplitter中删除QWidgets》经验,为你挑选了2个好方法。

在我的应用程序中有一个由QSplitter分割的窗口,我需要删除一个小部件.

我怎样才能做到这一点?我找不到有用的方法



1> Michael Bish..:

我不清楚是否要保留小部件并将其放在其他位置,或者如果要销毁小部件.

销毁小部件:如果你可以获得指向小部件的指针,你可以简单地删除它.分离器将被安全地通知其子项被删除并将其从自身中删除.

保留小部件:如果你抓住指向小部件的指针,你可以简单地将其父级设置为其他小部件并将其添加到另一个小部件的布局中,它将显示在那里.这是安全的,因为QSplitter将被通知其子女之一正在被重新分配.

如果要将父级设置为NULL(cjhuitt的答案),请注意您现在负责清理该内存,因为该小组件不再具有父级.


请注意,当您将父窗口设置为NULL时,窗口小部件将成为主窗口...(除非您先隐藏它.)

2> Tuminoid..:

Qt中的许多东西都不能"传统上"被删除.而是在其上调用hide()并销毁它.来自QSplitter文档:

当你隐藏()一个孩子时,它的空间将分配给其他孩子.当你再次显示()它时它将被恢复.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有