是否可以将QWidget添加到布局中,但不能与父级删除?

时间:2017-02-22 12:21:08

标签: qt qt5

我不想让父母自动删除我的小部件 - 这可能吗?

也许可以在不设置父级的情况下将小部件添加到布局?

如果我在添加到布局后执行widget->setParent(nullptr);我的小部件根本不会出现:(

1 个答案:

答案 0 :(得分:2)

对于Qt小部件,父/子的概念与在屏幕上显示的小部件的绘制方式紧密相关。你不能在另一个小部件的布局中拥有一个小部件,而不必将它们作为子级和父级。

现在,如果您想要的只是为了防止删除其父窗口时删除子窗口小部件(或任何继承QObject的类),您可以监听父窗口上的QObject::destroyed()信号并删除父窗口/信号触发时的子关系(一定要使用直接连接或阻塞连接)。