我正在收集我的應用程序的使用情況統計信息,其中包括每個會話的持續時間。但是,我似乎無法保存這些信息,因爲我嘗試過的所有信號都沒有成功調用我的report_session函數。有沒有辦法在PyQt應用程序結束之前調用一個函數?
這是我已經嘗試過的信號:
- lastWindowClosed()
- aboutToQuit()
- 銷燬()
兩種信號都永遠不會發出或應用程序做在運行其他任何東西之後不夠長。這是我的主:
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_())
我還沒有嘗試過,雖然我知道atexit模塊。我最終希望重新實現QApplication的closeEvent方法。 – fccoelho 2010-09-30 17:15:33