青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

  清源游民 gameogre@gmail.com

關鍵特性

縮放與旋轉
QGraphicsView通過QGraphicsView::setMatrix()支持同QPainter一樣的仿射變換,通過對一個視圖應用變換,你可以很容易地支持普通的導航特性如縮放與旋轉。下面是一個例子:
class View:;public QGraphicsView
{
Q_OBJECT
//.....
public slots:
void zoomIn() {scale(1.2,1.2);}
void zoomOut() {scale(1/1.2,1/1.2);}
void rotateLeft() {rotate(-10);}
void rotateRight() {rotate(10);}
};
這些槽應與QToolButtons聯接,并使autoRepeat有效。當對視圖變換時,QGraphicsView會對視圖中心進行校正。

拖拽
因為QGraphicsView繼承自QWidget,它也提供了像QWidget那樣的拖拽功能,另處,為了方便,Graphics View柜架也為場景,每個item提供拖拽支持。當視圖接收到拖拽事件,它可翻譯為QGraphicsSceneDragDropEvent,再發送到場景。場景接管這個事件,把它發送到光標下接受拖拽的第一個item。
從一個item開始拖拽時,創建一個QDrag對象,傳遞開始拖拽的那個widget的指針。Items可以同時被多個視圖觀察,但只有一個視圖可以開始拖拽。拖拽在多數情況下是從按下鼠標或是移動鼠標開始的,因此,在 mousePressEvent()或mouseMoveEvent()中,你可以從事件中得到那個原始的widget指針,例如:
void CustomItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
 QMimeData *data=new QMimeData;
 data->setColor(Qt::green);
QDrag *drag=new QDrag(event->widget());
drag->setMimeData(data);
drag->start();
}
為了在場景中載取拖拽事件,你應重新實現QGraphicsScene::dragEnterEvent()和在QGraphicsItem的子類里任何與你特定場景需要的事件處理器。items也可以通過調用QGraphicsItem::setAcceptDrops()獲得拖拽支持,為了處理將要進行的拖拽,你需要重新實現QGraphicsItem::dragEnterEvent(),QGraphicsItem::dragMoveEvent(),QGraphicsItem::dragLeaveEvent()和QGraphicsItem::dropEvent()。
光標與工具提示
像QWidget一樣,QGraphicsItem也支持光標(QgraphicsItem::setCursor)與工具提示(QGraphicsItem::setToolTip())。當光標進入到item的區域,光標與工具提示被QGraphicsView激活(通過調用QGraphicsItem::contains()檢測)。你也可以直接在視圖上設置一個缺省光標(QGraphicsView::setCursor)。
動畫
Graphics View支持幾種級別的動畫。你可以很容易地通過把QGraphicsItemAnimatoin與你的item聯結來
裝配出動畫路徑,這允許以時間線來控制動畫,在所有平臺上以穩定的速率運作。QGraphicsItemAnimation允許你為item的位置,旋轉,縮放,剪切,變換等產生一條路徑,動畫可以用QSlider來控制,或更為普遍使用的QTimeLine。
另一種是從QObject和QGraphicsItem繼承,item可以設置自己的定時器,以在QObject::timeEvent()中增加步進的方式來控制動畫。
第三種,是通過調用QGraphicsScene::advance()來推進場景,它又依次調用QGraphicsItem::advance().
OpenGL渲染
為了使用OpenGL渲染,你要設置一個新的QGLWidget作為QGraphicsView的視口:QGraphicsView::setViewPort()。假如你讓OpenGL提供反鋸齒功能,你需要OpenGL采樣緩沖支持。
QGraphicsView view(&scene);
view.setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
Item組
通過把一個item做為另一個item的孩子,你可以得到item組的大多數本質特性:這些items會一起移動,所有變換
會從父到子傳遞。QGraphicsItem也可以為它的孩子處理所有的事件,這樣就允許以父親代表它所有的孩子,可以有效地把所有的items看作一個整體。
另外,QGraphicsItemGroup是一個特殊的item,它既對孩子事件進行處理又有一個接口把items從一個組中增加和刪除。把一個item加到
QGraphicsItemGroup仍會保留item的原始位置與變換,而給一個item重新指定父item則會讓item根據其新的父親重新定位??梢杂肣GraphicsScene::createItemGroup()建組。
posted on 2007-09-27 00:09 清源游民 閱讀(7428) 評論(5)  編輯 收藏 引用 所屬分類: Qt

FeedBack:
# re: QT的Graphics View柜架(3/3)
2007-09-27 18:42 | SmartPtr
敢問閣下用的集成開發環境是哪個? 剛接觸linux開發, 不知道哪個用起來爽一點:)  回復  更多評論
  
# re: QT的Graphics View柜架(3/3)
2007-09-27 19:08 | 清源游民
Windows下的vs2003, QT可以很好的集成。linux下不清楚。  回復  更多評論
  
# re:尋找你加入
2007-09-27 20:35 | 愛子
QQ群名稱:游戲編程學習和開發M
QQ群號碼:43047318
創建人QQ號碼:光愛之子(273612158)
QQ群描述:群里是可以提供游戲和有關游戲編程知識。同時還有數據結構學習。 和一些懂得操作系統原理的人 希望你加入。 謝謝!還有游戲策劃,運營有關方面知識。   回復  更多評論
  
# re: QT的Graphics View柜架(3/3) [未登錄]
2007-11-01 15:03 | bb
Eclipse Qt Integration 1.0 ,run on windows and linux  回復  更多評論
  
# re: QT的Graphics View柜架(3/3)
2008-10-20 11:07 | 61003781
Windows下的vs2003.net 與QT3.x能夠通過QT3.x的QMsNetSetup.msi能夠很好地結合。請問您用的是QT4嗎,是通過誰的QMsNetSetup.msi與vs2003.net 結合的呢?  回復  更多評論
  
<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

留言簿(35)

隨筆分類(78)

隨筆檔案(74)

文章檔案(5)

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久综合色88| 欧美激情综合在线| 亚洲国产精品电影| 欧美在线免费| 久久亚洲春色中文字幕| 老司机成人在线视频| 欧美成人精品不卡视频在线观看| 久久综合婷婷| 亚洲激情视频网站| 一区二区三区免费在线观看| 亚洲免费在线视频| 久久久久久久久久码影片| 久久精品视频99| 欧美激情bt| 国产精品乱码一区二区三区| 狠狠色丁香久久婷婷综合_中| 亚洲国产aⅴ天堂久久| 一区二区三区久久久| 久久九九有精品国产23| 欧美韩国一区| 羞羞色国产精品| 欧美极品影院| 狠狠色噜噜狠狠色综合久| av成人免费在线| 久久深夜福利| 亚洲天堂av电影| 欧美成在线观看| 韩日欧美一区二区| 亚洲一区黄色| 亚洲国产精品视频一区| 性欧美在线看片a免费观看| 欧美日韩在线播放三区四区| 亚洲第一精品在线| 久久精品国亚洲| 亚洲神马久久| 国产精自产拍久久久久久蜜| 美女网站久久| 欧美一区=区| 欧美视频免费| 亚洲国产一区视频| 美女精品在线观看| 欧美一区二区在线免费观看 | 亚洲欧洲日韩女同| 久久久久久亚洲综合影院红桃 | 久久久99精品免费观看不卡| 亚洲美女电影在线| 欧美日韩久久| 亚洲一二三区精品| 在线亚洲一区二区| 国产精品久久一卡二卡| 欧美专区亚洲专区| 久久精品久久99精品久久| 国产亚洲人成网站在线观看| 久久久久国色av免费看影院| 久久久久免费| 一区二区三区久久久| 午夜一区不卡| 亚洲日本中文字幕| 在线综合+亚洲+欧美中文字幕| 国产精品videosex极品| 久久久久久久性| 欧美日韩另类综合| 久久中文字幕一区二区三区| 美玉足脚交一区二区三区图片| 欧美gay视频激情| 亚洲在线一区二区| 伊人春色精品| 亚洲视频视频在线| 亚洲欧洲精品一区二区三区波多野1战4 | 久久久之久亚州精品露出| 亚洲毛片在线看| 免费不卡在线观看av| 亚洲欧美国产不卡| 欧美国产亚洲视频| 久久亚洲私人国产精品va| 欧美色另类天堂2015| 亚洲欧洲日韩在线| 亚洲欧洲另类国产综合| 久久精品国产欧美亚洲人人爽| 亚洲综合精品| 国产精品xvideos88| 亚洲免费观看视频| 日韩视频永久免费观看| 欧美国产免费| 一区二区精品国产| 激情综合久久| 六月丁香综合| 亚洲黄色在线视频| 一区二区av在线| 欧美日韩高清不卡| 99视频有精品| 久久精品伊人| 亚洲人成在线播放| 欧美精品激情在线观看| 99成人精品| 久久久久久黄| 美女黄网久久| 一本一本久久| 牛人盗摄一区二区三区视频| 一本久久知道综合久久| 欧美a级理论片| 国产精品久久夜| 久久久精品一区| 亚洲毛片av| 美女爽到呻吟久久久久| 亚洲午夜女主播在线直播| 国产一区二区三区免费在线观看| 蜜臀a∨国产成人精品| 日韩视频一区二区三区在线播放 | 国产精品欧美日韩| 老色鬼精品视频在线观看播放| 夜夜嗨av一区二区三区四季av| 久久久久国产精品麻豆ai换脸| 一区二区免费看| 亚洲精品视频免费观看| 在线成人激情黄色| 狠狠色丁香久久婷婷综合_中| 国产精品伦一区| 欧美性猛交xxxx乱大交蜜桃| 欧美激情一区二区三区在线| 久久亚洲精品视频| 久久综合电影| 免费不卡在线观看| 欧美成人免费在线视频| 免播放器亚洲一区| 欧美乱在线观看| 国产精品久久久999| 国产精品视频yy9299一区| 国产精品羞羞答答| 国产一区再线| 亚洲国产日韩欧美在线99| 亚洲毛片在线| 久久久综合香蕉尹人综合网| 欧美sm重口味系列视频在线观看| 国产欧美69| 在线电影国产精品| 亚洲区一区二区三区| 日韩亚洲精品电影| 午夜在线播放视频欧美| 午夜精品福利一区二区三区av| 久久激情五月丁香伊人| 欧美高清在线| 欧美在线视频在线播放完整版免费观看| 久久亚洲私人国产精品va| 一本色道久久综合亚洲精品高清| 蜜臀va亚洲va欧美va天堂| 亚洲三级影院| 久久久在线视频| 国产一区99| 性久久久久久| 一本大道久久a久久精品综合| 久久久久久国产精品mv| 国产精品久久亚洲7777| 亚洲精品1区| 欧美**人妖| 亚洲一区二区在线免费观看视频| 欧美成人黄色小视频| 亚洲国产精品美女| 六月婷婷久久| 久久婷婷综合激情| 国内一区二区三区| 久久久www成人免费无遮挡大片 | 欧美电影在线播放| 久久久人成影片一区二区三区| 国产欧美一区二区精品仙草咪| 中文无字幕一区二区三区| 亚洲巨乳在线| 国产精品日韩在线播放| 久久成人精品电影| 久久国产日韩欧美| 91久久中文| 一区二区三区精品国产| 国产欧美一级| 欧美激情精品久久久久久蜜臀| 蜜臀99久久精品久久久久久软件| 国产精品初高中精品久久| 国产在线一区二区三区四区| 久久久精品动漫| 欧美超级免费视 在线| 亚洲毛片视频| 午夜久久久久久| 99国产精品久久久久久久| 亚洲视频在线观看免费| 狠狠色丁香婷婷综合| 日韩亚洲视频在线| 在线看片一区| 午夜宅男欧美| 欧美人与性动交cc0o| 亚洲小少妇裸体bbw| 欧美在线观看一区| 亚洲欧美日韩国产一区二区| 久久久亚洲高清| 久久久7777| 国产一区二区三区不卡在线观看| 亚洲精品中文在线| 日韩视频一区二区三区| 欧美激情综合五月色丁香小说| 欧美成年视频| 亚洲免费观看视频| 欧美激情第二页|