您好,登錄后才能下訂單哦!
本章將主要簡述Graphics View框架結構的特點、主要包含的元素及坐標系統。
1、Graphics View框架結構的特點:
(1)系統可以利用Qt繪圖系統的反鋸齒、OpenGL工具來改善繪圖性能。
(2)其支持事件傳播結構,可以使圖元在場景中的交互能力提高一倍,凸緣可以處理鍵盤事件和鼠標事件。
(3)通過BSP提供快速的圖元查找,可以實現實時顯示包含數百萬圖元的大場景。
2、Graphics View的三元素:
(1)場景類(QGraphicsScene):本身不可見,是一個放置圖元的容器必須通過與之相連的視圖類來顯示及與外界進行 互操作。通過QGraphicsScene::addItem()來添加圖元。
QGraphicsScene::items()和一些重載函數能夠返回和點、矩形、多邊形或向量路徑相交的所有圖元。
QGraphicsScene::itemAt()返回指定點的最頂層圖元。
QGraphicsScene::setSelectedAreas()函數選擇圖元,選擇區域可以是任意的形狀,使用QPainterpath表示。
QGraphicsScene::selectedItems()函數得到當前選擇的圖元列表。
QGraphicsScene::setFocusItem()函數或QGraphicsScene::setFocus()函數來設置圖元的焦點。
QGraphicsScene::focusItem()函數獲得當前具有焦點的圖元。
QGraphicsScene::reader()函數在繪圖設備上繪制場景。
(2)視圖類(QGraphicsView):提供一個可視的窗口用于顯示場景中的圖元。其是可滾動的窗口部件,可以提供滾動條來瀏覽大的場景。
QGraphicsView::setViewport將視圖設置為QGLWidget。
QGraphicsView::matrix()可以變換場景的坐標,實現場景縮放和旋轉。
QGraphicsView::mapToScene()和QGraphicsView::mapFromScene()用于場景的坐標進行轉換。
(3)圖元類(QGraphicsItem):它是場景中各個圖元的基類,在她的基礎上可以繼承出各種圖元類,
包括直線(QGraphicsLineItem)、橢圓(QGraphicsEllipseItem)、文本圖元(QGraphicsTextItem)、矩形(QGraphicsRectItem)等。
3、QGraphicsView的坐標系統:
基于笛卡爾積坐標系,一個圖元的場景具有X坐標和Y坐標。
(1)場景坐標:是所有圖元的基礎坐標系統。
(2)視圖坐標:是窗口部件的坐標。視圖坐標的單位是像素。
(3)圖元坐標:圖元使用自己的本地坐標,這個坐標系統通常以圖元中心為原點,這也是所有變換的原點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。