Graphics View結構的主要類包括:視圖類QGraphicsView、場景類QGraphicsScene、和各種圖形項類(基類都是 QGraphicsItem)
1. QGraphicsView 用於觀察一個場景的物理窗口
場景小於視圖,整個場景在視圖中可見;當場景大於視圖時,試圖自動提供卷滾條
QGraphicsView的視口坐標等於顯示設備的物理坐標,但是可以對QGraphicsView的坐標進行平移、旋轉和縮放
設置接口函數如下:
| 場景 | void setScene() | // 設置關聯的場景 |
| void setSceneRect() | //場景在視圖中可視的部分的矩形區域 | |
| 外觀 | void setAlignment() | //設置場景在在視圖中的對齊方式 |
| void setBackgroundBrush() | ||
| void setForegroundBrush() | ||
| void setRenderHints( ) | //設置繪圖選項 | |
| 交互 | void setInteractive() | 可交互 |
| QRect rubberBandRect | 返回選擇矩形框 | |
| void setRubberBandSelectionMode() | 選擇模式 | |
| QGraphicsItem *itemAt() | 獲取視圖坐標系中 某個位置處的圖形項 | |
| QList<QGraphicsItem *> items() | 獲取場景中所有、或者某個選擇區域內圖形項的列表 | |
| 坐標 | QPoint mapFormScene | 將場景中的一個坐標轉換為視圖的坐標 |
| 映射 | QPointF mapToScene | 將視圖中的一個坐標轉換為場景的坐標 |
2 QGraphicsScene 主要用於管理圖形項的場景,是圖形項的容器,有添加、刪除圖形項的函數,管理圖形項的各種函數。
| 場景 | void setSceneRect() | set場景的矩形區 |
| 分組 | QGraphicsItemGroup* createItemGroup() | 創建圖形項組 |
| void destroyItemGroup() | 解除一個圖形項組 | |
| 輸入焦點 | QGraphicsItem * focusItem | 返回當前獲得焦點的圖形項 |
| void clearFocus | 去除選擇焦點 | |
| bool hasFocus | 視圖時否有焦點 | |
| 圖形項操作 | void addItem() | 添加一個已經創建的圖形項 |
| void removeItem() | 刪除圖形項 | |
| void clear() | 清除所有圖形項 | |
| QGraphicesItem* mouseGrabberItem() |
返回鼠標抓取的圖形項 | |
| QList<QGraphicsITEM *>selectedItems() | 返回選擇的圖形項列表 | |
| QGraphicsItem *itemAt() | 獲取某個位置處的頂層圖形項 | |
| QList<QGraphicsITEM *> items() | 返回選擇區域內圖形項列表 | |
3 QGraphicsItem是所有圖形類的基類
注意坐標映射

