버튼 하나를 클릭하면 graphicsLayoutWidget에 약 200 개의 플롯을 추가하고 싶지만 이제 GUI가 약 10 초 동안 멈 춥니 다. 이것을 어떻게 피할 수 있습니까?
이것은 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를 표시하지 않음으로써 성능을 더 향상시킬 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다