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

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

>>> from paraview.simple import *
>>> cone = Cone()
>>> Show()
>>> Render()

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

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

最佳答案

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

./bin/pvserver --multi-clients

在另一个终端中,运行 paraview 并连接到您的服务器
./bin/paraview
File->Connect
AddServer -> Choose a name -> Configure -> Save
Connect

在第三个终端中,运行 pvpython(或您自己配置的 python)
./bin/pvpython
>> from paraview.simple import *
>> Connect("localhost")
>> Cone()
>> Show()

关于python - 从 Python IDLE 控制 Paraview GUI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45236721/

10-12 18:35