gpt4 book ai didi

qt - QWidget 在销毁时是否会将其自身从 GUI 中删除?

转载 作者:行者123 更新时间:2023-12-03 07:16:36 25 4
gpt4 key购买 nike

如果我使用delete删除QWidget,它是否会从GUI中取消注册,还是我必须手动执行此操作?这种行为有逻辑原因吗?

最佳答案

当您在布局或堆叠小部件上调用 addWidget 时,小部件的所有权将转移到布局/堆叠小部件。所有这意味着,如果布局/堆叠小部件被删除,那么添加到其中的所有小部件也会被删除。

一旦您使用完某个小部件,就完全可以将其删除无论是谁拥有它。所有权只是清理对象层次结构内存的一种便捷方法。它绝不表示拥有它的对象必须删除它。如果是这种情况,那么一旦您添加了所有小部件,您将只能删除全部或根本不删除它们!

如果您不希望在删除布局/堆叠小部件时删除您的小部件,那么您可以调用removeWidget。请注意,目前尚不清楚该小部件的所有权真正去向何处。一个简单的测试应用程序。我刚刚写的建议 removeWidget 甚至根本没有从 QStackedWidget 转移所有权!

因此,为了回答您的问题,如果您删除该小部件,Qt 将正确地从布局/堆叠小部件中删除该小部件。此外,如果小部件不再属于布局/堆叠小部件,这是删除小部件的正确方法。

关于qt - QWidget 在销毁时是否会将其自身从 GUI 中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6035001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com