2013-11-20 4 views
0

뷰의 크기에 맞는 장면을 만들었지 만 내용의 오른쪽과 아래쪽에 약간의 여백이 있습니다.QGraphicsScene 오른쪽 및 아래쪽 여백 설정을 비활성화합니다.

m_ui.graphicsView->fitInView(m_scene->sceneRect(), Qt::IgnoreAspectRatio); 

이 동작을 피할 수 있습니까?

enter image description here

+1

그래픽보기를 넣은 사용 된 레이아웃에 따라 틀릴 수도 있지만, 이것은 다른 요소 사이의 여백입니다. 그리고 QMainWindow를 사용하면 centralWidget에도 여백이 생깁니다. [this] (http://stackoverflow.com/questions/16572344/space-between-widgets-in-qvboxlayout) 질문을 확인하고 도움이되는지 확인하십시오. – dowhilefor

+0

아니요, QGraphicalsView는 여백이없는 그리드 레이아웃에 있고, 뷰포트도없는 레이아웃입니다. 이 여백은 내부보기입니다. 나는 그것을 설정 tryed. 어쩌면 요소에 view resizeEvent 필터를 설정할 수 있습니까? 하지만 QGraphicsItem에서 어떤 함수도 찾을 수 없습니다. – Eugene

답변

0

나는 당신이 fitInView 함수의 지점을 오해 것 같아요. 장면의 지정된 rect 영역이 뷰에 표시되도록하는 것이 좋습니다. 문서 상태 : -

보기 행렬의 크기를 조정하고 스크롤 막대를 스크롤하여 장면 사각형이 뷰포트 내부에 맞는지 확인합니다. rect는 장면 rect 내에 있어야합니다. 그렇지 않으면 fitInView()가 rect 전체가 표시되는지 여부를 보장 할 수 없습니다.

+0

당신 말이 맞아요. 그러나 모든 장면에서 장면 컨텐츠의 크기를 조정하고이 동작을 피하려면 어떻게해야합니까? – Eugene

+0

뷰포트 함수 setFrameStyle (QFrame :: NoFrame)을 사용해 보는 것은 어떻습니까? – TheDarkKnight

+0

도움이되지 않습니다. – Eugene

관련 문제