QGraphicsScene
에 QGraphicsItem
의 인스턴스를 추가했습니다.하나의 QGraphicsScene에 대한 다중 QGraphicsView
개별적인 장면에서 내 전체 장면의 특정 섹션을 표시해야합니다.
이렇게하려면 각각 QGraphicsScene
(유사한 부분이 아님)의 특정 섹션을 표시하는 QGraphicsView
의 인스턴스를 여러 개 만들고 싶습니다.
어떻게 할 수 있습니까?
QGraphicsScene mcpGraphicsScene = new QGraphicsScene(this);
QGraphicsRectItem * mcpGraphicsRect = mcpGraphicsScene->addRect(5,5,200,200);
QGraphicsLineItem * mcpGraphicsLine = mcpGraphicsScene->addLine(500,500,300,300);
QGraphicsView * mcpGraphicsView1 = new QGraphicsView(this);
mcpGraphicsView1->setScene(mcpGraphicsScene);
mcpGraphicsView1->setGeometry(260,20,311,500);
QGraphicsView * mcpGraphicsView2 = new QGraphicsView(this);
mcpGraphicsView2->setScene(mcpGraphicsScene);
mcpGraphicsView2->setGeometry(260,520,311,1061);
안녕하세요, 의심 스럽습니다, graphcsScene() 안에 여러 개의 graphicsView()가 있습니다. 각각은 QGraphicsItem을 상속받은 하나의 DrawItem 클래스에서 동일한 것을 그립니다. 이제 MainWindow에서 개별 graphicsView()를 업데이트하는 방법은 무엇입니까? –
@XavierGeoffrey 정말 다른 질문입니다. 뷰의 업데이트 정책은 QGraphicsView :: setViewportUpdateMode()에 의해 설정됩니다. 업데이트 모드를 none으로 설정하면 수동으로 update를 호출해야합니다. 신호/슬롯 또는 직접 호출을 통해 발생할 수 있습니다. 그러나 스마트 업데이 트가 항상 나를 위해 최선을 다해 왔습니다. http://doc.qt.io/qt-5/qgraphicsview.html#viewportUpdateMode-prop –
안녕하세요. 시간 내 주셔서 감사합니다. 이미 수동으로 QTimer 신호/슬롯에서 업데이트를 호출하고 있습니다. 내 문제는 10 개의 'QTimer'가있는'Mainwindow '에 10 개의 동일한 그래픽 항목이 있습니다. 신호/슬롯에서 update()를 호출하면 모든'paintEvent()'가 트리거됩니다. 'Mainwindow'에서 각 그래픽 뷰의 업데이트를 제어하는 방법을 알고 싶습니다. –