graphicsview框架簡介

pamxy發表於2013-07-24

轉自:http://blog.csdn.net/luopeiyuan1990/article/details/8582698

1.控制元件位置

Display Widgets→GraphicsView

2.控制元件介紹

GraphicsView(繪圖檢視)是用於顯示QGraphicsScene內容的控制元件。學習該控制元件就不得不瞭解GraphicsView框架,GraphicsView框架為2D繪圖提供一個簡單、容易使用、功能強大的解決方案。Graphics View框架由三個主要的類組成:QGraphicsItem、QGraphicsScene和QGraphicsView。其中QGraphicsItem定義圖元;QGraphicsScene定義場景,包含所有需要繪製的圖元,根據使用者的操作改變圖元的狀態;QGraphicsView定義觀察場景的視窗,可以充當繪圖的區域,成為獨立的窗體被彈出,或者嵌入其他UI元件中形成複合UI元件。

3.控制元件設定選項

在GraphicsView控制元件的properties選項中,一般常對以下選項進行設定。

name:該控制元件對應原始碼中的名稱;

font:設定顯示框字型;

frameShape:邊框樣式;

frameShadow:邊框陰影,Qt Creator提供的選擇有plain、raised、sunken;

lineWidth:邊框線寬。

4.常用成員函式

1) QGraphicsView::QGraphicsView ( QWidget *parent = 0 )

構造一個父物件為parent的GraphicsView。

2) QGraphicsView::QGraphicsView ( QGraphicsScene *scene, QWidget *parent = 0 )

構造一個父物件為parent的GraphicsView,填充場景scene到該GraphicsView。

3) void QGraphicsView::centerOn ( const QPointF & pos )

調整視窗的內容,確保點pos在視窗中居中。

4) void QGraphicsView::centerOn ( qreal x, qreal y )

這是一個過載函式,函式功能同函式3),相當於呼叫center(QPointF(x,y))。

5) void QGraphicsView::centerOn ( const QGraphicsItem *item )

這是一個過載函式,函式功能同函式3),調整視區的內容,使專案item為中心。

6) void QGraphicsView::ensureVisible ( const QRectF & rect, int xmargin = 50, int ymargin = 50 )

調整視窗的內容,使視窗rect中的內容是可見的。

7) void QGraphicsView::ensureVisible ( qreal x, qreal y, qreal w, qreal h, int xmargin = 50, int ymargin = 50 )

這是一個過載函式,函式功能同函式6),相當於呼叫ensureVisible(QRectF(x,y,w,h),xmargin,ymargin)。

8) void QGraphicsView::ensureVisible ( const QGraphicsItem *item, int xmargin = 50, int ymargin = 50 )

這是一個過載函式,函式功能同函式6),調整視窗的內容,使item的內容可見。

9) QGraphicsItem *QGraphicsView::itemAt ( const QPoint & pos ) const

返回pos處的item。

10) QGraphicsItem *QGraphicsView::itemAt ( int x, int y ) const

這是一個過載函式,函式功能同函式9),返回座標(x,y)處的item。

11) QList<QGraphicsItem *> QGraphicsView::items () const

返回相關場景中所用的圖元。

12) QList<QGraphicsItem *> QGraphicsView::items ( const QPoint & pos ) const

返回檢視中位置pos處的專案列表。

13) QGraphicsScene *QGraphicsView::scene () const

返回當前視覺化的場景;如果當前沒有視覺化的場景,則返回0。

14) void QGraphicsView::setScene ( QGraphicsScene *scene )

設定場景scene為當前視覺化場景。

15) void QGraphicsView::updateScene ( const QList<QRectF> & rects ) [slot]


相關文章