为什么这个:
graphics_view->fitInView(scene->sceneRect(), Qt::KeepAspectRatio);
不能按预期工作?它与场景rect的拟合不正确,显示了周围的空白。
最佳答案
原因是这样的:
https://bugreports.qt.io/browse/QTBUG-42331-请在qt错误跟踪器上对其进行投票,以提高优先级。
简而言之,fitInView具有硬编码的页边距,这会造成各种破坏-至少是现在您损失了显示区域的几个像素,并且还可能强制进行不必要的缩放。
您可以通过基于现有实现重新实现fitInView来解决问题,但要消除它的可笑之处。基于原始C++版本,可以在python中找到一个示例:
https://github.com/nevion/pyqimageview/blob/master/qimageview/widget.py#L276