Qt 그래픽보기 프레임 워크를 사용하여 장면을 만들고 여러 장면을 동일한 장면에 첨부합니다.이 장면에서는 배경으로 3D openscenegraph 장면을 렌더링하고 2D 그림은 오버레이 종류입니다.QGraphicsView에서 허용하는 이벤트
내 OverlayViewport 클래스에서 마우스/키 이벤트를 가로 채 (QGraphicsView 상속)하고 그에 따라 3D 장면을 탐색하려고합니다. 다음은 샘플 이벤트 핸들러입니다.
void OverlayViewport::mouseMoveEvent(QMouseEvent * event)
{
QGraphicsView::mouseMoveEvent(event);
if (event->isAccepted())
{
return;
}
3D_Scene_Stuff_Code();
}
이벤트는 항상 허용되므로 내 3D 장면 코드는 실행되지 않습니다. isAccepted() 확인을 제거하면 코드가 항상 실행됩니다.
내가 원하는 것은, 장면이 선택 항목처럼 드래그하고, 아무것도하지 않으면 (이벤트를 수락하지 않음), 3D로 처리합니다.
내 질문은 여기에 있습니다.
1 - 잘못된 경로입니까?
2 -보기가 첨부 된 장면으로 이벤트를 전달하고 이벤트가 장면에서 허용되지 않으면 내 작업을 수행해야합니까?
3 - 2가 아니면 어떻게 진행해야합니까?
좋습니다.
게시 하시겠습니까? 해당 버그 보고서의 URL은 여기에 게시 하시겠습니까? 나는 Qt 5.1 (Qt 5.2도 확인했다)을 사용 중이며 같은 문제에 직면 해있다. 귀하의 사례에 대한 해결 방법을 찾았습니까? –
고정되어 있고 닫혀있는 것 같습니다. 여기에 다음과 같이 표시됩니다. https://bugreports.qt-project.org/browse/QTBUG-8061 – erelender
나는 그것을 보았지만 mouseDoubleClickEvent()와 관련되어 있지만 원래 게시물에서 mouseMoveEvent()를 언급합니다. 그래서 내가 물었다. –