我在应用程序退出之前无法进行清理 - 在其他重要事件发生之前调用我的清理。
目前我正在使用
QObject.connect(self.qtApp,
SIGNAL("lastWindowClosed()"),
self._lastWindowClosed)
我的应用程序由一个QtGui.QDialog
组成,它会抛出SIGNAL("accepted()")
或SIGNAL("rejected()")
(“确定”或“取消”按钮)。如果我如上所示进行清理,我会错过这些事件。如果我在SIGNAL("aboutToQuit()")
进行清理,我不会错过这些事件。
我没有发现任何两个信号的有意义的文档。例如,PySide关于aboutToQuit和lastWindowClosed的文档讨论了一些文件和与应用程序生命周期无关的事情。
看来我需要使用aboutToQuit()。我在哪里可以找到关于此信号的有意义的文档,以便我确定之前没有错过任何事件?
答案 0 :(得分:1)
请参阅QCoreApplication::aboutToQuit
documentation page:
如果您的应用程序必须进行最后一秒的清理,则该信号特别有用。请注意,在此状态下无法进行用户交互。
因此,如果您想进行清理,则应使用此信号。
关闭所有窗口时会发出lastWindowClosed
信号。它不一定导致应用程序终止。并且不保证在应用程序终止时发出此信号(例如,使用QApplication::quit
以编程方式关闭应用程序时不会发出此信号。)