QGraphicsView::fitInView()은 스크롤 막대의 존재를 무시한 것처럼 보입니다.Qt QGraphicsScene은 스크롤바와 함께 fitInView()를 사용하지 않습니다.
fitInView()를 두 번 호출하면 문제가 해결된다는 관련 버그 보고서 (https://bugreports.qt-project.org/browse/QTBUG-1047)가 있습니다.
제 경우에는 그렇지 않습니다. 두 번 수동으로 스크롤하면 스크롤 막대를 수동으로 맞출 수 있습니다. 작동하지 않습니다.
void myGraphicsView::mousePressEvent(QMouseEvent *event) {
if(event->button() == Qt::LeftButton) {
QGraphicsItem* clicked = scene()->itemAt(mapToScene(event->pos()));
qDebug() << clicked << clicked->boundingRect();
fitInView(clicked, Qt::KeepAspectRatio);
fitInView(clicked, Qt::KeepAspectRatio); // doesn't work for me
QGraphicsView::mousePressEvent(event);
return;
}
}
다른 해결 방법이 있습니까?
는 Qt는 두 번 작업을 수행 MSVC2010