Je collectionne des statistiques d'utilisation pour mes applications qui incluent la durée de chaque session. Cependant, je ne peux pas sembler être capable de sauvegarder ces informations car aucun des signaux que j'ai essayé encore ne réussisse à appeler ma fonction Report_Session.
Ce sont les signaux que j'ai déjà essayés: p>
Soit ces signaux ne sont jamais émis ou que l'application ne vit pas assez longtemps après avoir rien d'autre. Voici mon principal: p>
4 Réponses :
mettre le code entre app.exec _ code> et
sys.exit code>:
Êtes-vous sûr que cela fonctionne? a travaillé sur ma machine
S'assurer qu'une fonction Python est appelée à la résiliation du processus, en général (avec ou sans qt impliquée ;-), vous pouvez utiliser le Atexit Module de la bibliothèque Python standard:
import atexit def whatever(): ... atexit.register(whatever)
Je n'ai pas essayé cela, même si j'étais au courant du module Atexit. J'ai fini par préférer réimplément la méthode de la quai de la qualité.
trouvé Cette réponse qui implique une surcharge de surcharge de rue (). P >
Cela a fonctionné parfaitement pour moi. P>
La méthode que Mark Byers Publié sera exécutée après la fermeture du widget principal, ce qui signifie que ses contrôles ne seront plus disponibles.
Si vous devez travailler avec toutes les valeurs des contrôles de votre formulaire, vous souhaitez capturer l'événement proche et effectuer votre travail: P>
class MainWidget(QtGui.QWidget): #... def closeEvent(self, event): print "closing PyQtTest" self.SaveSettings() # report_session()