먼저 해제는, 아니, 그 목적을 위해 특별히 고안된 위젯 없다.
는 당신이를 QGraphicsView가 무엇인지 파악 생각하지 않습니다. QGraphicsScene을 표시하기위한 것입니다. QGraphicsScene은 많은 QGraphicsItem을 보유하기위한 것입니다. 귀하의 게시물을 기반으로, 나는 왜 당신이 여러 QGraphicsViews가 필요한지 알 수 없습니다. 하나의 QGraphicsView를 가지고 그 장면 안에 많은 이미지를 표시 할 수 있습니다. 예를 들어 QGraphicsPixmapItem을 참조하십시오.
수백 개의 QGraphicsView가 없어야합니다. QGraphicsScene에 많은 QGraphicsItem을 표시하는 경우 (특정 상황에서는 몇 가지를 정당화 할 수 있음) 원하는 것일 수 있습니다. 한 번에 수백 개의 QGraphicsItem을 볼 수 있습니다. 귀하의 경우에는 아마도 QGraphicsPixmapItems가 필요합니다. QGraphicsPixmapItem은 QGraphicsItem의 하위 클래스입니다. 여러 QGraphicsScenes를 가질 수도 있고 QGraphicsView::setScene
을 사용하여 관련성이있는 것을 표시 할 수 있습니다. 사용자가 그리드에서 이미지를 선택한 다음 해당 이미지로 작업 할 수있게하려면 State Pattern으로보아야합니다.
나는 QGraphicsViews, QGraphicsScenes, 또는 QGraphicsItems 마우스 처리를 비활성화 할 이유 생각할 수 없다. 왜 이들은 자신의 마우스 이벤트를 처리하지 못합니까? 원하는 기능을 얻기 위해 mousePressEvent
, mouseMoveEvent
, mouseRelease
이벤트 등을 다시 구현할 수 있습니다 (필요한 경우).
행운을 빈다.