2017-05-03 38 views
1

我有我的MainWindow打開第二個窗口。當我們關閉qt窗口時發出的信號是什麼

當我點擊第二個窗口中的某個按鈕時,將啓動一個線程,並且當我退出第二個窗口時,我希望我的線程結束。

當我的SecondWindow關閉時發出的信號是什麼?

謝謝您的回答期貨

+0

你的第二個窗口可以是QDialog的,你可以在你的主窗口連接到第二個QDialog窗口接受(),已完成(int結果)或已拒絕()'''信號 –

回答

3

沒有當小部件(包括QMainWindows)關閉發射信號。如果一個小部件設置爲被刪除時,它被關閉,那麼你可以使用下面的QObject信號來檢測時,該小工具將被摧毀...

void destroyed(QObject *obj = Q_NULLPTR) 

然而,這隻會工作,如果你的窗口有Qt :: WA_DeleteOnClose標誌啓用(默認情況下不啓用)。

或者,也許更優選可以實現的標準部件關閉事件,併發出自己的信號,表明該窗口被關閉:

void MainWindow::closeEvent(QCloseEvent* event) 
{ 
    emit MySignalToIndicateThatTheWindowIsClosing(); 
    event->accept(); 
} 
+0

謝謝,第二個解決方案運行良好! – Manu53

相關問題