diff --git a/bec_widgets/examples/jupyter_console/jupyter_console_window.py b/bec_widgets/examples/jupyter_console/jupyter_console_window.py index bedba319..821ac50f 100644 --- a/bec_widgets/examples/jupyter_console/jupyter_console_window.py +++ b/bec_widgets/examples/jupyter_console/jupyter_console_window.py @@ -175,12 +175,11 @@ class JupyterConsoleWindow(QWidget): # pragma: no cover: def closeEvent(self, event): """Override to handle things when main window is closed.""" - self.dock.clear_all() self.dock.cleanup() self.dock.close() - self.figure.clear_all() self.figure.cleanup() self.figure.close() + self.console.close() super().closeEvent(event) diff --git a/bec_widgets/widgets/jupyter_console/jupyter_console.py b/bec_widgets/widgets/jupyter_console/jupyter_console.py index b9c2e8e8..68f02134 100644 --- a/bec_widgets/widgets/jupyter_console/jupyter_console.py +++ b/bec_widgets/widgets/jupyter_console/jupyter_console.py @@ -10,6 +10,7 @@ class BECJupyterConsole(RichJupyterWidget): # pragma: no cover: super().__init__() self.inprocess = None + self.client = None self.kernel_manager, self.kernel_client = self._init_kernel(inprocess=inprocess) self.set_default_style("linux") @@ -60,6 +61,11 @@ class BECJupyterConsole(RichJupyterWidget): # pragma: no cover: self.kernel_client.stop_channels() self.kernel_manager.shutdown_kernel() + def closeEvent(self, event): + self.shutdown_kernel() + if self.client: + self.client.shutdown() + if __name__ == "__main__": # pragma: no cover import sys