2013-09-10 3 views
1

Я работаю над очень простым проектом GUI в Qt (с использованием C++) и хочу иметь возможность закрыть главное окно в моей программе, не закрыв программу полностью. По умолчанию он будет закрыт, когда основное окно будет закрыто. Как это предотвратить?Как сохранить приложение при закрытии последнего окна?

ответ

4

Установите QApplication::quitOnLastWindowClosed свойство ложным:

qApp->setQuitOnLastWindowClosed(false); 
4

Если вам все еще нужно окно существовать, вы, вероятно, хотели переопределять свой метод CloseEvent так:

void MainWindow::closeEvent(QCloseEvent *event) 
{ 

    hide(); 
    event->ignore(); 
} 

или использовать QGuiApplication::setQuitOnLastWindowClosed(false)

Если вы хотите выполнить некоторые операции предварительного выхода в качестве параметров сохранения, подключите несколько слотов, сделав то, что вы хотите, QCoreApplication::aboutToQuit()

Смежные вопросы