4

我正在尝试让 PlotWidget 快速移动(从左到右),就像它是心电图一样。这是我想要的一个例子(除了他使用了 PyQwt (这与我的项目不兼容,因为我使用 PySide(而不是 PyQt)并且除了我希望 X 轴也从左向右移动):

在此处输入图像描述

但是,我不知道该怎么做。我可以绘制抓取图,我可以使用以下方法使其从左向右移动:

 myPlotWidget.setXRange(0, 100)

然后

  myPlotWidget.setXRange(1, 101)

这使它看起来像是从左到右移动(1 个单位),但我现在不知道如何使它平滑和自动。我试图制作一个看起来像这样的循环:

 for i in range(1000):
     myPlotWidget.setXRange(10+i, 100+i, update=True)

但是在循环期间,情节没有更新......情节仅在循环结束时更新,所以我看不到它从左到右“移动”,我只有最终结果。

有人可以帮助我吗?有什么办法可以强制重绘循环的 1000 次?

我首先认为它的计算速度太快所以我尝试了这个

 for i in range(1000):
     myPlotWidget.setXRange(10+i, 100+i, update=True)
     time.sleep

但当然它没有用。

非常感谢你的帮助 !

4

1 回答 1

-1

在循环结束时,当它被更新时,你有类似myPlotWidget.update(), 或的东西myPlotWidget.canvas.draw(),对吗?

只需将其移入 for 循环即可。但是,如果您尝试绘制大量数据,这会变慢。

于 2014-04-01T21:29:51.540 回答