首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从QSplitter中删除QWidgets

如何从QSplitter中删除QWidgets
EN

Stack Overflow用户
提问于 2008-12-16 15:08:06
回答 6查看 13.3K关注 0票数 19

在我的应用程序中,有一个被QSplitter拆分的窗口,我需要删除一个小部件。

我该怎么做呢?我找不到有用的方法

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-12-16 15:26:41

Qt中的许多东西不能被“传统”移除。取而代之的是,对它调用hide()并销毁它。来自QSplitter文档:

当您隐藏()一个子对象时,它的空间将分布在其他子对象中。当您再次显示()它时,它将被恢复。

票数 17
EN

Stack Overflow用户

发布于 2008-12-19 07:17:50

我不清楚你是想保留这个小部件而把它放在别的地方,还是想销毁这个小部件。

  • Destroying小部件:如果可以获得指向小部件的指针,只需将其删除即可。拆分器将安全地通知它的子项正在被删除,并将其从小部件中删除:如果您抓取指向小部件的指针,您只需将其父部件设置为某个其他小部件,并将其添加到另一个小部件的布局中,它就会显示在那里。这是安全的,因为QSplitter将被通知它的一个孩子正在为人父母。

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

票数 23
EN

Stack Overflow用户

发布于 2008-12-16 15:33:46

我喜欢图米诺德的回答。但是,如果您确实需要删除它,请尝试获取要删除的小部件,并在该小部件上调用setParent( NULL )。这是我最好的猜测。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/371599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档