Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在QtGUI和python控制台之间来回传递数据对象_Python_Pyqt_Ipython - Fatal编程技术网

在QtGUI和python控制台之间来回传递数据对象

在QtGUI和python控制台之间来回传递数据对象,python,pyqt,ipython,Python,Pyqt,Ipython,我有一个(PyQt4)GUI应用程序,它处理一些特定的数据对象。 它使用户能够使用图形界面读取、编辑、打印和分析此类数据对象。现在,我希望能够(从GUI)启动一些命令行/(I)python会话,在这里我可以操作完全相同的数据对象。最后,我希望能够轻松地在基于GUI和基于命令行的操作之间切换,并且所做的更改应该在两种模式下都可用 我的第一个(也是唯一一个)想法是在按下按钮时对数据对象进行pickle处理,启动一个带有init脚本的ipython会话,该脚本将取消勾选该对象,并在命令行模式下手动重新

我有一个(PyQt4)GUI应用程序,它处理一些特定的数据对象。 它使用户能够使用图形界面读取、编辑、打印和分析此类数据对象。现在,我希望能够(从GUI)启动一些命令行/(I)python会话,在这里我可以操作完全相同的数据对象。最后,我希望能够轻松地在基于GUI和基于命令行的操作之间切换,并且所做的更改应该在两种模式下都可用


我的第一个(也是唯一一个)想法是在按下按钮时对数据对象进行pickle处理,启动一个带有init脚本的ipython会话,该脚本将取消勾选该对象,并在命令行模式下手动重新勾选该对象,然后将其取消勾选回GUI。然而,我不认为这将是非常不稳定的

也许在程序中嵌入
qtconsole
是一种选择。这曾经是IPython的一部分,但是终端和内核功能已经被分割到Jupyter项目中。是关于嵌入的一些信息。第四个选项(InProcessKernel)在我看来是最有前途的。但是,我不知道如何将变量放入这个内核中。如果你成功了,现在让我告诉你。也许在你的程序中嵌入
qtconsole
是一种选择。这曾经是IPython的一部分,但是终端和内核功能已经被分割到Jupyter项目中。是关于嵌入的一些信息。第四个选项(InProcessKernel)在我看来是最有前途的。但是,我不知道如何将变量放入这个内核中。如果你成功了,现在就告诉我。