Sto raccogliendo le statistiche di utilizzo per le mie applicazioni che includono quanto dura ogni sessione. Tuttavia, non riesco a essere in grado di salvare questa informazione perché Nessuno dei segnali che ho provato, in realtà, riesce a chiamare la mia funzione report_session.C'è un modo per chiamare una funzione appena prima che un'applicazione PyQt finisca?
Questo sono i segnali ho già provato:
- lastWindowClosed()
- aboutToQuit()
- distrutte()
Entrambi questi segnali non vengono emessi o l'applicazione fa non vivere abbastanza a lungo dopo quello per eseguire qualsiasi altra cosa. Qui è il mio principale:
app = QtGui.QApplication(sys.argv)
ui = MainWindow()
ui.app = app
QtCore.QObject.connect(ui, QtCore.SIGNAL("destroyed()"), ui.report_session)
ui.show()
logger.info('Started!')
splash.finish(ui)
sys.exit(app.exec_())
Non l'ho provato, anche se ero a conoscenza del modulo atexit. Alla fine ho preferito reimplementare il metodo closeEvent di QApplication. – fccoelho