首页 > 解决方案 > 如何为 QtKernelManager 子进程内核指定启动代码以传递数据以进行进程间通信?

问题描述

qtconsole的存储库是一个允许在 Qt 应用程序中嵌入类似 Jupyter 笔记本的界面的包,它提供了两个使用示例。

使用inprocess_qtconsole.py示例,一切都在同一个进程中运行,您可以访问内核并通过该 shell 从QtInProcessKernelManager和直接设置qtconsole.

embed_qtconsole.py示例改为在子进程中启动内核(我的用例需要这种分离),因此您不能直接设置变量,但我的想法是,如果我可以在启动时以某种方式传入端口地址,然后编码在 qtconsole 中运行可以使用正常的进程间通信策略与主进程进行通信。如何在由 a 管理的内核启动时传入要设置的数据QtKernelManager

我有一些想法,但还没有找到解决方案:我知道常规的 IPython 有启动脚本(见这里),可以用来设置变量,所以似乎这可能是受支持的,可能是通过一些参数QtKernelManager或在创建客户端时。内核只是一个POpen对象,所以也许有一些方法可以在它启动时添加一个参数。或者,假设有打开的流和通道,也许它们可以用来传递命令。

标签: pythonqtconsole

解决方案


推荐阅读