2010-07-09 7 views

Répondre

2

le plus général est de connecter le signal aboutToQuit à un emplacement - mais comme les docs dire

Le signal est particulièrement utile si votre application doit faire dernière-seconde nettoyage. Notez qu'aucune interaction utilisateur n'est possible dans cet état.

donc si vous devez montrer votre message dans Qt (donc la boucle d'événement doit encore en cours d'exécution) cela ne fonctionnera pas. Dans ce cas, je me connecte lastWindowClosed (et peut-être aussi définir quitOnLastWindowClosed à faux, en fonction de vos besoins exacts). Si votre application se termine également par d'autres moyens (boutons, menus, etc.), vous devrez également les connecter.

2

Si votre but est simplement d'afficher un message, vous pouvez suivre la réponse de Alex Martelli. Sinon, si vous avez besoin d'une sorte d'exécution basée sur close, (comme demander à l'utilisateur sur Voulez-vous enregistrer les modifications? quelque chose), puis gérer le QCloseEvent * fera l'affaire.

Dans ce cas ce que je vais faire est que, étendre la classe QWidget et passer outre sa

void QWidget::closeEvent (QCloseEvent * event) [virtual protected] 

Je Selon la définition de closeEvent (QCloseEvent * event), ai mon exécution correspondant.

Hope it helps ..

Questions connexes