런타임에 항목을보기에 추가하기 위해 그래픽보기 프레임 워크를 사용하고 있습니다. 항목은 세로 레이아웃과 같이 하나 아래에 배치됩니다.크기를 조정할 때 QGraphicsView의 항목 위치 여백
나는 항상 내 항목을 장면의 시작 위치에 놓습니다 (10,10). 그러나보기의 크기를 조정하는 동안 여백은 조정됩니다. 보기 창 크기를 조정할 때마다 동일한 여백을 유지하는 방법은 무엇입니까?
은 내가 봤 및QTransform Matrix(1, 0, 0, 0, 1, 0, 0, 0, 1);
Matrix.scale(width()/sceneRect().width(), height()/sceneRect().height())
setTransform(Matrix);
여백을 복원하는 데 도움이 있지만, 그것은 또한보기 높이 배급을 기준으로 항목을 축소 발견했다.
보기 위젯이 축소되거나 확장되는 경우에도 항상 동일한 항목 크기를 유지하려고합니다. 스크롤바가 나타납니다.
답장을 보내 주셔서 감사합니다. 예, 항목을 장면에만 추가하고 있습니다. 장면 좌표가 (0010001000)이라고하면 여백 차이를 유지하기 위해 QPoint (18,12)에 항목을 배치했습니다. 하지만 뷰 윈도우의 크기를 조정하면 이러한 여백이 증가합니다. 내가 추가 한 코드 줄은 여백을 유지하는 데 도움이되지만 항목을 크기 조정하지만 항목 축소를 무시해야합니다. – Wagmare
절대적으로 확실한 코드를 직접 작성해야하지만 이러한 변환 행렬 값을 검사하면 뷰의 크기를 조정할 때 축척 비율 (m11 및 m22)을 동일하게 유지하는 것이 좋습니다. QGraphicsView를 서브 클래스 화하고 resizeEvent를 재정의 (override)해야하고 거기에서 QGraphicsView 스케일 인자를 재설정해야한다고 생각합니다. – goug
나는 그것을 goug 할 것이다. .. 너를 너무 많이 고마워. 귀하의 추천에 따라 업데이트하고 여기에 회신 해 드리겠습니다. – Wagmare