2011-11-23 2 views

답변

0

QWidget::update 위젯 (또는 그 일부)을 다시 그리도록 요청합니다. 여러 update 요청을 단일 페인트 요청으로 병합 할 수 있습니다.

따라서 가상 paintEvent 메서드를 다시 구현하는 것이 도움이 될 수 있습니다. 다음과 같이 입력하십시오 :

void MyGraphicsView::paintEvent (QPaintEvent *event) { 
    // Do stuff before repainting 

    // Do the actual paint update 
    QGraphicsView::paintEvent(event); 

    // Do stuff after painting 
} 

질문하는 내용이 아닌 경우 질문을 명확히하십시오. 나는 그것을 정확하게 이해하지 못했습니다.

+0

감사합니다. 저는 QG를 사용하여 QGraphicItems (점, 폴리곤 등)을 그립니다. 확대/축소 또는 이동을 할 때 몇 가지 이벤트를 빠르게 연속으로 수행하는 것은 일반적인 동작입니다. 예를 들어 마우스 휠을 3 번 돌리면 그래픽 데이터가 많을 때 처음 두 바퀴 이벤트는 쓸모가 없습니다. 현재 업데이트 프로세스가있는 경우 업데이트 프로세스를 중지하는 방법이 필요합니다. 감사 – tonnot