国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

詳解 QT 中Graphics View柜架 (中篇)

移動開發(fā)
Graphics View使用BSP樹來提供對item的快速查找,使用這種技術(shù),它可以實(shí)時(shí)地繪制大規(guī)模場景,甚至以百萬items計(jì)。Graphics View在Qt 4.2中被引用,它替代了它的前輩QCanvas。

QTGraphics View柜架是本文要介紹的內(nèi)容,本文分為三部分為大家介紹,本篇文章為中篇,想要繼續(xù)深入了解的請繼續(xù)關(guān)注。參考末尾。詳解 QT Graphics View柜架 (中篇)是本節(jié)所講述的內(nèi)容,繼續(xù)上篇文章  詳解 QT 中Graphics View柜架 (上篇) 為大家介紹。先來看內(nèi)容。

Graphics View 坐標(biāo)系統(tǒng)

Graphics View基于笛卡爾坐標(biāo)系。item在場景中的位置與幾何形狀通過x,y坐標(biāo)表示。當(dāng)使用未經(jīng)變形的視圖來觀察場景時(shí),場景中的一個單位等于屏幕上的一個像素。在Graphics View中有三個有效的坐標(biāo)系統(tǒng):Item坐標(biāo)系,場景坐標(biāo)系,視圖坐標(biāo)系。為了簡化你的實(shí)現(xiàn),Graphics View提供了方便的函數(shù),允許三個坐標(biāo)系之間相互映射。

當(dāng)渲染時(shí),Graphics View的場景坐標(biāo)對應(yīng)于QPainter的邏輯坐標(biāo),視圖坐標(biāo)與設(shè)備坐標(biāo)相同。

詳解 QT 中Graphics View柜架 (中篇)

Item坐標(biāo)

Items位于它們自己的坐標(biāo)系中。它的坐標(biāo)都以點(diǎn)(0,0)為中心點(diǎn),這也是所有變換的中心點(diǎn)。在item坐標(biāo)系中的幾何圖元,經(jīng)常被稱為item點(diǎn),item線,item矩形。當(dāng)創(chuàng)建一個定制的item,item坐標(biāo)是所需要考慮的。QGraphicsScene與QGraphicsView可以為你執(zhí)行所有轉(zhuǎn)換,這使得實(shí)現(xiàn)定制的item變得容易。舉例來說,假如你收到鼠標(biāo)按或是拖進(jìn)入事件,事件的位置以item坐標(biāo)的形式給出。QGraphicsItem::contain()虛函數(shù),當(dāng)某個點(diǎn)的位置在你的item范圍內(nèi)時(shí),返回true,否則返回false。這個點(diǎn)參數(shù)使用item坐標(biāo),相似地,item的包圍矩形與形狀也使用item坐標(biāo)。

Item位置指的是item的中心點(diǎn)在它父親的坐標(biāo)系中的坐標(biāo)。以這種思想來看,場景指的就是那些祖先最少的item的“父親”。最上級的Item位置就是在場景中的位置。

子坐標(biāo)與父坐標(biāo)之間是相關(guān)的,假如孩子未經(jīng)變換,子坐標(biāo)與父坐標(biāo)之間的差值等于在父坐標(biāo)系下,父item與子item之間的距離。例如,假如一個未經(jīng)變換的子item位置與其父item的中心重合,那么這兩個item的坐標(biāo)系統(tǒng)完全相同。如果孩子的位置是(10,0),那么孩子坐標(biāo)系中的(0,10)點(diǎn),對應(yīng)于父坐標(biāo)系中的(10,10)點(diǎn)。

因?yàn)閕tem的位置與變換是相對于父item的,子item的坐標(biāo)不會被父親的變換影響,盡管父item的變換隱含地對子item做了變換。在上面的例子中,即使父item旋轉(zhuǎn),縮放,子item的(0,10)點(diǎn)依然對應(yīng)于父item的(10,10)點(diǎn)。然而,相對于場景來講,子item會遵循父item的變換。假如父item被縮放(2X,2X),子item的位置在場景中的坐標(biāo)是(20,0),它的(10,0)點(diǎn)則與場景中的(40,0)對應(yīng) 。除了QGraphicsItem::pos(),QGraphicsItem的函數(shù)以Item坐標(biāo)工作,如一個item's包圍矩形總是以item坐標(biāo)的形式給出。

場景坐標(biāo)

場景坐標(biāo)系統(tǒng)描述了每個最***item的位置,也是從視圖向場景投遞場景事件的基礎(chǔ)。場景中的每個item有場景位置與包圍矩形(QGraphicsItem::scenePos(),QGraphicsItem::sceneBoundingRect()), 另外,它有自己本地item位置與包圍矩形。場景位置描述了item在場景坐標(biāo)下的位置,它的場景包圍矩形則用于QGraphicsScene決定場景中哪塊區(qū)域發(fā)生了變化。場景中的變化通過QGraphicsScene::changed()信號來通知,它的參數(shù)是場景矩形列表。

視圖坐標(biāo)

視圖坐標(biāo)是widget的坐標(biāo),視圖坐標(biāo)中每個單位對應(yīng)一個像素。這種坐標(biāo)的特殊之處在于它是相對于widget或是視口的,不會被所觀察的場景所影響。QGraphicsView的視口的左上角總是(0,0),右下角總是(視口寬,視口高)。所有的鼠標(biāo)事件與拖拽事件,最初以視圖坐標(biāo)表示,就應(yīng)該把這些坐標(biāo)映射到場景坐標(biāo)以便與item交互。

坐標(biāo)映射

經(jīng)常,處理場景中item時(shí),在場景與item之間,item與item之間,視圖與場景之間進(jìn)行坐標(biāo)映射,形狀映射是非常有用的。舉例來講,當(dāng)你在QGraphicsView的視口中點(diǎn)擊鼠標(biāo)時(shí),你應(yīng)該通過調(diào)用QGraphicsView::mapToScence()與QGraphicsScene::itemAt()來獲知光標(biāo)下是場景中的哪個item。

假如你想獲知一個item位于視口中的什么位置,你應(yīng)該先在item上調(diào)用QGraphicsItem::mapToScene(),然后調(diào)用QGraphicsView::mapFromScene()。***,假如你想在一個視圖橢圓中有哪些items,你應(yīng)該把QPainterPath傳遞到mapToScene(),然后再把映射后的路徑傳遞到QGraphicsScene::items()。

你可以調(diào)用QGraphicsItem::mapToScene()與QGraphicsItem::mapFromScene()在item與場景之間進(jìn)行坐標(biāo)與形狀的映射。也可以在item與其父item之間通過QGraphicsItem::mapToParent()與QGraphicsItem::mapFromItem()進(jìn)行映射。所有映射函數(shù)可以包括點(diǎn),矩形,多邊形,路徑。視圖與場景之間的映射也與此類似。對于從視圖與item之間的映射,你應(yīng)該首先映射到場景,然后再從場景向item進(jìn)行映射。

小結(jié):關(guān)于詳解 QTGraphics View柜架 (中篇)的內(nèi)容介紹完了,希望本文對你有所幫助,想要深入了解的話,請看詳解 QT 中Graphics View柜架 (下篇)

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-30 10:36:07

QT Graphics View

2011-06-30 10:09:26

QT Graphics View

2011-06-23 18:04:42

Qt Embedded

2011-06-17 17:01:22

Qt Eclipse Windows

2011-06-14 11:48:38

Webkit QT

2011-06-24 09:13:30

QT SDL

2011-06-27 14:31:29

Qt 數(shù)據(jù)庫 SQL語句

2011-06-28 15:18:45

Qt 單例模式

2011-06-29 17:20:20

Qt 內(nèi)存 QOBJECT

2011-06-24 15:16:33

Qt 插件

2011-06-24 09:22:54

QT .pro文件 qmake

2011-06-24 14:17:58

Qt 容器類 QVector

2011-06-22 14:38:09

QT 多線程 線程安全

2011-07-04 17:45:45

Qt Sqlite 數(shù)據(jù)庫

2011-09-01 15:51:53

Qt插件VS 2010

2011-08-29 14:59:26

QtEvent事件

2011-08-30 14:25:06

QT數(shù)據(jù)庫

2011-06-20 09:26:38

Linux qtopia QT

2011-06-24 10:05:51

QT 對象 父對象

2011-06-28 15:01:01

Qt PIMPL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

老司机精品视频在线播放| 国产精品久久久久久久久免费桃花| 中文字幕一区二区三区电影| 免费看成年人视频在线观看| 97国产一区二区| 一区二区成人国产精品| 99热免费精品在线观看| 成人啪啪免费看| 久久97精品| 欧美极品美女电影一区| 全球中文成人在线| 国产亚洲一区二区精品| 成人影院网站| 亚洲精品视频二区| 五月天av在线| 日韩精品欧美激情| 美女18一级毛片一品久道久久综合| 欧美一级视频精品观看| 国产在线看片| 日韩欧美国产一区在线观看| 日韩欧美一起| 精品一区二区电影| 625成人欧美午夜电影| 国产一区二区三区高清在线观看| 国产精品迅雷| 色婷婷av一区二区三区久久| 国产不卡精品在线| 91精品国产高清自在线| 欧美精品一区二区久久| 亚洲影视九九影院在线观看| 在线视频观看日韩| 亚洲一区免费看| 成人美女视频在线看| 最近免费中文字幕中文高清百度| 中文字幕欧美三区| 超碰影院在线| 欧美三级中文字幕| 欧美日韩经典丝袜| 这里只有视频精品| youjizzjizz亚洲| 国产精品三级久久久久久电影| 久久人人88| 欧美日韩电影一区二区三区| 国产麻豆一精品一av一免费 | 99国产在线视频| 欧美精品18| 一区二区精品国产| 久久久久国产精品麻豆| 四色成人av永久网址| 51精品国自产在线| 深夜视频一区二区| 97人人模人人爽人人喊中文字| 精品国产乱码久久久久久蜜坠欲下| 亚洲综合在线播放| 黄色精品一二区| 四虎最新网站| 91精品国产综合久久精品| 99只有精品| 国产精品丝袜白浆摸在线| 视频一区视频二区中文字幕| 人妻熟女一二三区夜夜爱| 午夜精品福利视频网站| 僵尸再翻生在线观看免费国语| 日韩色av导航| 欧美h版在线| 女人被男人躁得好爽免费视频| 国产亚洲精品中文字幕| www.久久热.com| 久久躁日日躁aaaaxxxx| 不卡在线一区二区| 路边理发店露脸熟妇泻火| 亚洲最色的网站| 成人av观看| 国产精品一区二区三区久久久| 国产在线麻豆精品观看| 污视频网站在线看| 一本久久综合亚洲鲁鲁| 欧美精品97| 蜜臀av免费观看| 精品国产一区二区精华| 日韩精品免费一区二区在线观看| 性欧美18一19内谢| 欧美日韩一区二区在线| а天堂中文最新一区二区三区| 国产在线精品日韩| 一区2区3区在线看| 色豆豆成人网| 欧美大香线蕉线伊人久久| 有码一区二区三区| 在线成人免费| 久久国产精品高清| 亚洲影院理伦片| 国产精品国产亚洲精品| 一路向西2在线观看| 99国产精品一区| www555久久| 黄色免费视频大全| 午夜精品一区二区三区在线视频 | 欧美在线se| 美女黄色免费看| 亚洲视频日韩精品| 国产精品66部| 欧美黄色a视频| 免费人成在线观看播放视频| 国产精品视频久久久| 成人黄色小视频| 水蜜桃一区二区三区| 涩涩视频网站在线观看| 欧美精品123| 欧美电影一区二区三区| 国产在线观看91一区二区三区| 久草视频在线播放| 91美女高潮出水| 亚洲欧洲三级电影| 国产精品1区| qvod激情图片| 五月婷婷开心综合| 日本在线观看一区二区| 亚洲国产成人爱av在线播放| 午夜一区二区三区在线观看| 欧美一区一区| 亚洲欧洲高清| www.九色在线| 国产精品啪啪啪视频| 欧美乱妇高清无乱码| 亚洲欧洲国产日韩| 欧美极品在线观看| 在线看小视频| 欧美性受xxxx黑人xyx性爽| 人人草在线视频| 91香蕉电影院| 日韩欧美一区视频| 亚洲一区色图| 黄色大片在线| 国产精品专区在线| 日本久久中文字幕| 亚洲天堂男人天堂| 亚洲第一色在线| 91传媒视频在线播放| 久久蜜桃一区二区| 国产韩国精品一区二区三区| 嗯啊主人调教在线播放视频| 国产精品69页| 国内免费精品永久在线视频| 久久久久久久网| 精品理论电影| 日本中文字幕中出在线| 一本久道中文无码字幕av| 男人添女人下部高潮视频在观看| 国产精品男女猛烈高潮激情| 在线观看免费高清视频97| 中文字幕在线观看日韩| 日韩在线小视频| 亚洲精品久久久久久久久久久久| 中文字幕精品—区二区四季| 中文欧美日韩| 66视频精品| 色喇叭免费久久综合| 美女91在线| 国产在线视频网| 首播影院在线观看免费观看电视| 波多野结衣久久精品| 亚洲一区二区三区在线免费| 日韩电影在线观看完整免费观看| 97se亚洲| 天天射—综合中文网| 狠狠爱综合网| 韩国视频一区二区| 国产农村妇女精品一区二区| 亚洲欧美成aⅴ人在线观看| 欧美视频一区二区在线观看| 日韩一区二区在线看片| 综合色婷婷一区二区亚洲欧美国产| 亚洲级视频在线观看免费1级| 白白色 亚洲乱淫| 精品国产一区探花在线观看| eeuss影院在线播放| 综合国产精品久久久| 欧美日韩电影在线观看| 色综合久久久网| 国产精品乡下勾搭老头1| 欧美一级二级三级视频| 99免在线观看免费视频高清| 欧美成人高潮一二区在线看| 国产综合福利在线| 亚洲人成五月天| 精品国产91乱高清在线观看| 国内不卡的二区三区中文字幕| 亚洲97av| 午夜不卡影院| 麻豆电影在线| 日韩极品视频在线观看| 91嫩草在线视频| 久久精彩免费视频| 欧美最新大片在线看| 久久精品男人天堂av| 久久久xxx| av一区二区高清| 欧美亚洲人成在线| 福利在线视频网站|