我在我的Qt应用程序中有一个父子窗口。父类是名为A的QDialog
,名为B的子类是QMainWindow
。现在我希望每当B通过“X”按钮关闭时,就会发出一个信号,这个信号可以被A类中的一个插槽捕获,功能被执行。 Qt中可以使用预定义的信号吗?如何知道子窗口父窗口销毁窗口
我想是这样的:
B *b=new B;
//some code
connect(b,SIGNAL(destroyed()),this,&A::doSomething);
B也有一个QWidget
,我可以用它来检测被破坏的信号。我如何实现这一点?我是否需要发出来自~B()
的自定义信号?
编辑:我不想破坏对象b
因为这需要重新分配时,我想重新从A
窗口B
,我想保持b
参数。
b->setAttribute(Qt::WA_DeleteOnClose);
另一种选择是重新实现close event,放出自定义信号有:如果你set a Qt::WA_DeleteOnClose
attribute您B
部件
[Qt:如何处理用户按'X'(关闭)按钮的事件?](https://stackoverflow.com/questions/17480984/qt-how-do-i-handle用户按下-x-关闭按钮) – Thrawn