2011-12-19 24 views
6

Me preguntaba si es posible ignorar/cancelar la salida de la aplicación basada en cierto indicador booleano se establece incluso si el usuario hiciera clic en la "X" roja (botón Cerrar ventana).Qt solicitud cancelar evento de salida

Soy un programador de C# y sé que es bastante fácil de hacer para las aplicaciones .NET pero soy bastante nuevo en el marco de qt y la búsqueda en google no obtuvo ningún resultado relevante.

Gracias,

Respuesta

14

documentación de Qt describe este use-case about asking permission to close in their examples específica.

Si subclase QMainWindow por ejemplo y vuelva a implementar la función closeEvent, puede proporcionarle a su aplicación un comportamiento personalizado cuando alguien intente cerrarla. Por ejemplo:

void MainWindow::closeEvent(QCloseEvent *event) 
{ 
    if (maybeSave()) { 
     writeSettings(); 
     event->accept(); 
    } else { 
     event->ignore(); 
    } 
} 
+1

Para mejorar la respuesta, puede proporcionar el código de ejemplo además de vincular el artículo. ¡Las mejores respuestas siempre tienen fuente incluida! –

Cuestiones relacionadas