gpt4 book ai didi

c++ - 如何知道子窗口被父窗口销毁

转载 作者:行者123 更新时间:2023-11-30 02:23:10 25 4
gpt4 key购买 nike

我的 Qt 应用程序中有一个父子窗口。父类是名为 A 的 QDialog,子类是名为 B 的 QMainWindow。现在我希望每当通过“X”按钮关闭 B 时,都会发出信号可以被 A 类中的插槽捕获,我希望通过它实现某些功能。我可以使用 Qt 中的预定义信号吗?

我想要这样的东西:

B *b=new B;
//some code
connect(b,SIGNAL(destroyed()),this,&A::doSomething);

B 还有一个 QWidget,我可以用它来检测被破坏的信号。我该如何实现?我是否需要从 ~B() 发出自定义信号?

编辑: 我不想破坏对象 b,因为当我想重新创建窗口 B 时,这需要重新分配来自 A,我想保留 b 的参数。

最佳答案

您的解决方案只有在您 set a Qt::WA_DeleteOnClose attribute 时才有效到您的 B 小部件:

b->setAttribute(Qt::WA_DeleteOnClose);

另一种选择是重新实现 close event并在那里发出自定义信号。

关于c++ - 如何知道子窗口被父窗口销毁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46402807/

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