Qtアプリケーションに親子ウィンドウがあります。親クラスはQDialog
であり、子クラスはQMainWindow
で、名前はBです。今度は、Bが「X」ボタンで閉じられると、クラスAのスロットで捕捉できるシグナルが放出されることを望みます実装される機能私は使用できるQtにあらかじめ定義されたシグナルがありますか?子ウィンドウが親ウィンドウの形で破棄されていることを知る方法
B *b=new B;
//some code
connect(b,SIGNAL(destroyed()),this,&A::doSomething);
Bはまた、私は破壊された信号を検出するために使用することができますQWidget
あります
は、私はこのような何かをしたいです。これをどのように実装すればよいですか? ~B()
からカスタム信号を送信する必要がありますか?
編集:私はA
から窓B
を再作成したいと私はb
のパラメータを維持したいとき、これは再割り当てを必要とするように、オブジェクトb
を破壊する必要はありません。
b->setAttribute(Qt::WA_DeleteOnClose);
別のオプションは、close eventを再実装し、そこに独自の信号を発するようになります:あなたset a Qt::WA_DeleteOnClose
attribute場合
[Qt:ユーザーが 'X'(閉じる)ボタンを押した場合の対処方法を教えてください。](https://stackoverflow.com/questions/17480984/qt-how-do-i-handle -the-user-pressed-the-x-close-buttonのイベント) – Thrawn