2014-03-05 3 views
1

장면에 QGraphicsRectItem이 있습니다. 이 창을 드래그 앤 드롭하여 장면 위에 놓을 생각입니다. 직사각형 항목이 왼쪽 경계 끝까지 도달하면 오른쪽 끝에서 나타나야합니다. 현재 두 개의 객체를 사용하고 있으며 많은 계산이 필요한 장면의 경계를 계산하여 숨기고 표시합니다. 단일 개체를 사용하여 동일한 효과를 얻는 더 좋은 방법이 있습니까? QGraphicsRectItem을 Qt로 사용한 그림자 효과

당신은

답변

0

당신은 전체 장면에 걸쳐 하나의 항목을 사용하고 페인트 방법의에서 사각형 (또는 그것의 2 부분)을 그릴 수 감사합니다.

하지만 BSP 트리의 최적화가 손실 될 수 있습니다. 관계없는 영역이 다시 칠해 지더라도 항목이 다시 그려집니다. 이것이 단지 1 항목이라면 많은 영향을 미치지 않을 것입니다.

mousemove 이벤트 등을 사용하여 드래그를 직접 구현해야합니다. 많은 코드는 아니지만, 올바르게 가져와야합니다.