Graphics View繪圖架構(二)


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是所有圖形類的基類

注意坐標映射


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM