爲什麼這樣的:的QGraphicsView fitInView利潤率
graphics_view->fitInView(scene->sceneRect(), Qt::KeepAspectRatio);
沒有達到預期效果?它不適合現場正確,顯示周圍的利潤。
爲什麼這樣的:的QGraphicsView fitInView利潤率
graphics_view->fitInView(scene->sceneRect(), Qt::KeepAspectRatio);
沒有達到預期效果?它不適合現場正確,顯示周圍的利潤。
我想出了問題所在,它在this question中有描述。問題的主要原因是您不應該在顯示窗體之前調用fitInView。
實際上它取決於你的意思只是利潤率,我想,因爲你也問過這個問題,它可能是你鏈接的問題中的這些巨大的問題。無論如何,您可以在顯示錶單之前調用fitInView。 –
從文檔: -
RECT必須在現場RECT內;否則,fitInView()不能保證整個矩形是可見的。
也...
RECT將在視圖中居中,如果不適合不放呢。
最後
如果矩形是空的,或者如果視口太小,此功能將不起作用。
原因是這樣的: https://bugreports.qt.io/browse/QTBUG-42331 - 請在qt bug跟蹤器上對它進行投票來提高優先級。
簡而言之,fitInView具有硬編碼的邊距,這可能會導致各種破壞 - 其中最小的是現在你失去了幾個像素的顯示區域,也可能會強制不必要的重新縮放。
您可以通過重新實現fitInView來解決問題,基於現有的實現,但刪除它的可笑邊緣。這方面的一個例子可以在這裏找到在蟒蛇,在原有基礎上C++版本:
https://github.com/nevion/pyqimageview/blob/master/qimageview/widget.py#L276
您可以修復它重新實現原來fitInView方法,但不包括利潤。請查看我的C++解決方案:https://stackoverflow.com/a/42474510/6050364
添加最小代碼示例和屏幕截圖,以及它與預期的不同之處。 –