self.kernel_manager = QtInProcessKernelManager() self.kernel_manager.start_kernel() kernel = self.kernel_manager.kernel kernel.gui = "qt" # Push QWidget to the console kernel.shell.push({"widget": widget}) self.kernel_client = self.kernel_manager.client() self.kernel_client.start_channels() # Setup console widget def stop(): self.kernel_client.stop_channels() self.kernel_manager.shutdown_kernel() self.exit_requested.connect(stop) if __name__ == "__main__": from qtpy.QtWidgets import QApplication, QMainWindow, QLabel app = QApplication([]) window = QMainWindow() window.setCentralWidget(QLabel("test")) db = DebuggableMenuBar() window.setMenuBar(db) window.show() app.exec_()