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