1
我想在graphicsLayoutWidget中添加约200张地块,当我点击一个按钮时。但是现在gui冻结了大约10秒。 我该如何避免这种情况。pyqtgraph:如何添加大量地块
我想在graphicsLayoutWidget中添加约200张地块,当我点击一个按钮时。但是现在gui冻结了大约10秒。 我该如何避免这种情况。pyqtgraph:如何添加大量地块
这是pyqtgraph中的一个缺陷。
看起来大部分初始化时间都是创建上下文菜单。 PlotItem .__ init__和ViewBox .__ init__都具有“enableMenu”参数,但将它们设置为False只会停止菜单显示,并且不会阻止它们的创建。
所以解决这个问题的最简单的方法是简单地避免创建菜单,更好的方法是推迟菜单创建,直到用户右键单击该图。您可以尝试通过检查验证码前解决方案:https://github.com/lcampagn/pyqtgraph/tree/deferred_menu
下的代码,下面的示例运行得更快:
import pyqtgraph as pg
w = pg.GraphicsWindow()
for i in range(20):
for j in range(20):
w.addPlot(enableMenu=False)
w.nextRow()
后者的解决方案将需要更广泛的变化。进一步的性能改进可以通过避免显示AxisItems