2016-03-04 24 views
2

我有一個應用程序,它由兩個顯然獨立的窗口組成。窗口A加載數據並顯示一些日誌,狀態信息;打開窗口B,進行交互式處理。爲了防止意外關閉,在B中我有一個事件處理程序,如下所示。它工作正常,但是,它也阻止Window A在終止時關閉它。有沒有比在B中使用公共插槽更好的方法,並通過A發送消息,現在窗口B可以真正關閉? (或區分終止應用和關閉窗口之一?)如何處理Qt5關閉事件以終止?

void B::closeEvent(QCloseEvent *event) 
{ 
    QMessageBox::warning(this, tr("Application"), 
       tr("Can only be closed through closing the main window.!"), 
        QMessageBox::Ok); 
     event->ignore(); 
} 
+0

窗口A可以調用在B中的方法(像' close(true)'),所以B知道當void B :: closeEvent(QCloseEvent * event)被調用時它必須被關閉。 – Tarod

回答

0

可以禁用一個窗口的關閉按鈕通過修改其窗口標誌