+
+ def closeEvent(self, event):
+ # give the screens an opportunity to veto the close
+ for screen in self.screenWidgets:
+ if not screen.canClose():
+ event.ignore()
+ return
+
+ # give the screens an opportunity to close gracefully
+ for screen in self.screenWidgets:
+ screen.mainWindowClose()
+
+ QWidget.closeEvent(self, event)
+