2013-10-28 43 views
1

當我現場RECT設置爲視口的同一RECT:的QGraphicsView的視口矩形的問題

mCanvasScene->setSceneRect(mCanvasView->viewport()->rect()); 

QGraphicsView在widget創建滾動條,但如果場景就是爲什麼有視口的大小相同滾動條?看起來來自視口的rect()不是視口區域的正確大小。

有誰知道如何設置與視口的可見區域大小相同的場景?

+0

你能提供一個SSCCE嗎?我似乎無法重現這一點。當我做'view-> scene() - > setSceneRect(view-> viewport() - > rect());'我沒有滾動條。 – thuga

+0

GraphicsScene上的GraphicsView就像一扇望向世界的窗口。將場景設置爲視圖的大小似乎很奇怪。 – TheDarkKnight

+0

爲什麼想讓場景與視口大小相同? – Tarantula

回答

1

QGraphicsView繼承自QAbstractScrollAreaviewport()返回由滾動區域管理的窗口小部件,該區域通常比實際滾動區域小部件(首先使用滾動區域的原因)大。

正確的可見區域的大小是QGraphicsView的大小(調用內部小部件視口很有誤導性)。