【发布时间】:2023-04-11 03:32:02
【问题描述】:
我想要做的是提供一个 GUI 来显示一些 numpy 数组,并连接 IPython,以便您可以随心所欲地操作数据。我所有的 IPython 东西都在工作,问题是如何检测到数组发生了变化。
显而易见的解决方案是显式调用某种refresh(),但我希望得到即时反馈。绘制 GUI 很昂贵(几秒钟),所以我不能在计时器上重绘。但是,我可以查看计时器上的数据,如果发生变化则重绘。
我看到了一个关于 hashing the whole ndarray 的答案,这很有帮助,但是我的数组有点太大,而且散列太慢。我并不严格需要哈希,因为我不打算缓存或存储某些特定的数组。
我可以让 numpy 跟踪它自己的“脏”标志吗?或者,是否有一些属性在改变数组后会有不同的id 或其他东西?
【问题讨论】:
-
您不能仅通过检测会更改数组的用户活动来判断数组是否已更改吗?
-
这会有所帮助,但是对于不通过 IPython 小部件的编程代码,我仍然需要在显式的
render()调用周围进行处理。如果我们能回答这个问题,它会使交互界面和编程界面相同,并且希望更简单。 -
您的代码是否以显示数组中间状态的方式工作?渐进式渲染非常适合网页,但对于您的情况,甚至可能无法在您的结果的第一位进入和整个输出准备就绪之间更新显示。您可以在通话结束时更新显示。还是其他线程同时修改数组,而不是由用户输入指导?