从 Python IDLE 控制 Paraview GUI

use*_*882 3 python python-idle python-2.7 paraview

我正在尝试使用 IDLE 以交互方式控制 Paraview。这将涉及从 IDLE 发送命令并查看 Paraview 中发生的更改。我宁愿不使用in-Paraview python shell。

到目前为止,我已经成功地从 IDLE 导入了 Paraview 模块(simple、servermanager 等)。但是发送的命令不会反映在 Paraview 中。例如:

>>> from paraview.simple import *
>>> cone = Cone()
>>> Show()
>>> Render()
Run Code Online (Sandbox Code Playgroud)

确实创建了一个锥体。然而,锥体输出到一个新的、独立的 OpenGL 窗口,而不是 Paraview GUI。

是否可以使用 IDLE 以交互方式控制 Paraview?如果是这样如何做到这一点?谢谢

Mat*_*hal 5

您需要在多客户端/服务器模式下运行 paraview。在终端中运行 pvserver。

./bin/pvserver --multi-clients
Run Code Online (Sandbox Code Playgroud)

在另一个终端中,运行 paraview 并连接到您的服务器

./bin/paraview
File->Connect
AddServer -> Choose a name -> Configure -> Save
Connect
Run Code Online (Sandbox Code Playgroud)

在第三个终端中,运行 pvpython(或您自己配置的 python)

./bin/pvpython
>> from paraview.simple import *
>> Connect("localhost")
>> Cone()
>> Show()
Run Code Online (Sandbox Code Playgroud)