【发布时间】:2014-05-02 02:25:27
【问题描述】:
QGraphicsView::fitInView() 似乎忽略了滚动条的存在,滚动条显然被覆盖了。 (它还使用硬编码的 2 像素边距。)
有一个相关的错误报告 (https://bugreports.qt-project.org/browse/QTBUG-1047) 指出调用 fitInView() 两次可以解决问题。
在我的情况下,它没有。只有手动触发它两次才适合滚动条。这不起作用:
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 4.8.1 与 MSVC2010
【问题讨论】:
标签: c++ qt scrollbar qgraphicsview