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

清源游民 gameogre@gmail.com

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



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)建一個(gè)定制的item,item坐標(biāo)是所需要考慮的。QGraphicsSceneQGraphicsView可以為你執(zhí)行所有轉(zhuǎn)換,這使得實(shí)現(xiàn)定制的item變得容易。舉例來說,假如你收到鼠標(biāo)按或是拖進(jìn)入事件,事件的位置以item坐標(biāo)的形式給出。QGraphicsItem::contain()虛函數(shù),當(dāng)某個(gè)點(diǎn)的位置在你的item范圍內(nèi)時(shí),返回true,否則返回false。這個(gè)點(diǎn)參數(shù)使用item坐標(biāo),相似地,item的包圍矩形與形狀也使用item坐標(biāo)。
Item位置指的是item的中心點(diǎn)在它父親的坐標(biāo)系中的坐標(biāo)。以這種思想來看,場(chǎng)景指的就是那些祖先最少的item的“父親”。最上級(jí)的Item位置就是在場(chǎng)景中的位置。
子坐標(biāo)與父坐標(biāo)之間是相關(guān)的,假如孩子未經(jīng)變換,子坐標(biāo)與父坐標(biāo)之間的差值等于在父坐標(biāo)系下,父item與子item之間的距離。例如,假如一個(gè)未經(jīng)變換的子item位置與其父item的中心重合,那么這兩個(gè)item的坐標(biāo)系統(tǒng)完全相同。如果孩子的位置是(10,0),那么孩子坐標(biāo)系中的(0,10)點(diǎn),對(duì)應(yīng)于父坐標(biāo)系中的(10,10)點(diǎn)。
因?yàn)閕tem的位置與變換是相對(duì)于父item的,子item的坐標(biāo)不會(huì)被父親的變換影響,盡管父item的變換隱含地對(duì)子item做了變換。在上面的例子中,即使父item旋轉(zhuǎn),縮放,子item的(0,10)點(diǎn)依然對(duì)應(yīng)于父item的(10,10)點(diǎn)。然而,相對(duì)于場(chǎng)景來講,子item會(huì)遵循父item的變換。假如父item被縮放(2X,2X),子item的位置在場(chǎng)景中的坐標(biāo)是(20,0),它的(10,0)點(diǎn)則與場(chǎng)景中的(40,0)對(duì)應(yīng) 。除了QGraphicsItem::pos(),QGraphicsItem的函數(shù)以Item坐標(biāo)工作,如一個(gè)item's包圍矩形總是以item坐標(biāo)的形式給出。

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

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

坐標(biāo)映射
經(jīng)常,處理場(chǎng)景中item時(shí),在場(chǎng)景與item之間,item與item之間,視圖與場(chǎng)景之間進(jìn)行坐標(biāo)映射,形狀映射是非常有用的。舉例來講,當(dāng)你在QGraphicsView的視口中點(diǎn)擊鼠標(biāo)時(shí),你應(yīng)該通過調(diào)用QGraphicsView::mapToScence()QGraphicsScene::itemAt()來獲知光標(biāo)下是場(chǎng)景中的哪個(gè)item。假如你想獲知一個(gè)item位于視口中的什么位置,你應(yīng)該先在item上調(diào)用QGraphicsItem::mapToScene(),然后調(diào)用QGraphicsView::mapFromScene()。最后,假如你想在一個(gè)視圖橢圓中有哪些items,你應(yīng)該把QPainterPath傳遞到mapToScene(),然后再把映射后的路徑傳遞到QGraphicsScene::items()。
你可以調(diào)用QGraphicsItem::mapToScene()QGraphicsItem::mapFromScene()在item與場(chǎng)景之間進(jìn)行坐標(biāo)與形狀的映射。也可以在item與其父item之間通過QGraphicsItem::mapToParent()QGraphicsItem::mapFromItem()進(jìn)行映射。所有映射函數(shù)可以包括點(diǎn),矩形,多邊形,路徑。視圖與場(chǎng)景之間的映射也與此類似。對(duì)于從視圖與item之間的映射,你應(yīng)該首先映射到場(chǎng)景,然后再?gòu)膱?chǎng)景向item進(jìn)行映射。

posted on 2007-09-26 23:57 清源游民 閱讀(4757) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Qt
<2007年3月>
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

留言簿(35)

隨筆分類(78)

隨筆檔案(74)

文章檔案(5)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美激情免费在线| 99精品国产热久久91蜜凸| 亚洲韩国青草视频| 亚洲欧美日韩天堂| 日韩一二三在线视频播| 91久久线看在观草草青青| 亚洲免费成人| 午夜电影亚洲| 久久中文字幕一区| 欧美激情第六页| 99精品视频一区二区三区| 中文欧美字幕免费| 久久激情五月丁香伊人| 麻豆视频一区二区| 欧美日韩精品系列| 欧美专区在线观看一区| 亚洲欧美国产毛片在线| 午夜一级在线看亚洲| 久久激情视频| 亚洲第一福利视频| 在线亚洲成人| 久久精品91久久香蕉加勒比| 美日韩精品视频免费看| 欧美日韩在线视频一区| 国产一本一道久久香蕉| 亚洲人成啪啪网站| 午夜精品久久久久久久99樱桃 | 欧美一区二区三区视频| 久久久精品日韩欧美| 亚洲国产欧美精品| 欧美亚洲一区二区三区| 欧美日本久久| 悠悠资源网久久精品| 亚洲一区国产视频| 亚洲第一福利社区| 久久久久欧美精品| 国产精品久久9| 亚洲欧洲在线播放| 免费欧美在线| 久久精品国语| 国产一区白浆| 久久精品30| 亚洲午夜精品国产| 亚洲尤物视频在线| 91久久国产精品91久久性色| 久久国产精品一区二区三区四区| 欧美日韩免费一区二区三区| 亚洲国产精品va在看黑人| 亚洲欧美国产高清va在线播| 亚洲欧洲日本mm| 久久在线免费观看视频| 狠狠久久综合婷婷不卡| 欧美在线播放| 亚洲欧美日韩专区| 亚洲电影一级黄| 亚洲午夜久久久久久久久电影网| 女同一区二区| 久久久7777| 黄网动漫久久久| 久久久久五月天| 久久久久久精| 亚洲二区精品| 欧美gay视频激情| 久久综合999| 亚洲国产欧美不卡在线观看| 欧美华人在线视频| 女女同性精品视频| 亚洲精品一区二| 亚洲三级影院| 国产精品qvod| 欧美一区在线视频| 久久成人免费网| 亚洲第一福利在线观看| 欧美激情亚洲激情| 欧美日本韩国一区| 在线中文字幕一区| 亚洲午夜女主播在线直播| 国产乱码精品| 男人的天堂亚洲在线| 欧美黑人多人双交| 亚洲一区二区三区在线看| 亚洲一区二区三区视频播放| 国产主播一区二区三区| 亚洲福利在线观看| 国产精品v一区二区三区| 久久成人18免费观看| 久久一区欧美| 亚洲小说欧美另类婷婷| 欧美中文字幕精品| 亚洲麻豆国产自偷在线| 中文国产成人精品| 一区二区三区自拍| 亚洲卡通欧美制服中文| 国产在线日韩| 亚洲精品一区二区三区樱花| 国产欧美日韩精品专区| 亚洲国产视频a| 国产亚洲永久域名| 夜夜爽99久久国产综合精品女不卡 | 欧美一级理论性理论a| 亚洲二区视频在线| 亚洲性视频网站| 91久久久亚洲精品| 性色av一区二区三区| 99热免费精品| 久久久久久精| 久久成人精品| 欧美日韩综合| 亚洲黄色三级| 永久555www成人免费| 亚洲天堂成人| 一本色道久久综合亚洲精品婷婷| 久久精品系列| 久久成人人人人精品欧| 欧美日韩123| **性色生活片久久毛片| 亚洲手机成人高清视频| 在线观看亚洲一区| 亚洲欧美久久久| 中日韩美女免费视频网站在线观看| 欧美在线观看你懂的| 亚洲在线免费视频| 欧美极品aⅴ影院| 欧美高清在线播放| 国内精品伊人久久久久av影院 | 在线亚洲一区观看| 99www免费人成精品| 久久最新视频| 免费美女久久99| 在线日韩日本国产亚洲| 久久精品国产亚洲aⅴ| 久久se精品一区二区| 国产精品午夜视频| 亚洲一卡久久| 欧美在线播放一区| 国产亚洲精品激情久久| 欧美一区二区三区在线看| 久久er精品视频| 国产日韩欧美一区| 久久成人精品| 欧美电影在线观看完整版| 亚洲全部视频| 欧美日韩精品中文字幕| 一区二区高清视频| 欧美亚洲在线视频| 狠狠入ady亚洲精品| 理论片一区二区在线| 亚洲国产天堂久久综合网| 亚洲人成网站777色婷婷| 欧美福利电影网| 99视频超级精品| 久久精品视频免费播放| 精品88久久久久88久久久| 免费成人高清| 99视频超级精品| 久久久青草婷婷精品综合日韩| 国产一本一道久久香蕉| 美女视频黄免费的久久| 日韩一级大片| 久久亚洲春色中文字幕| 亚洲精品乱码久久久久久蜜桃91| 欧美久久精品午夜青青大伊人| 日韩视频一区二区在线观看| 久久成人18免费网站| 亚洲精品国精品久久99热一| 欧美视频1区| 久久免费少妇高潮久久精品99| 亚洲精品123区| 久久aⅴ国产紧身牛仔裤| 亚洲成在人线av| 国产精品国产精品| 免费观看成人| 亚洲欧美日韩国产成人精品影院| 久久尤物视频| 亚洲在线一区二区三区| 在线看视频不卡| 国产精品色一区二区三区| 久久综合狠狠综合久久综合88| 99日韩精品| 欧美激情黄色片| 亚洲一级网站| 欧美自拍偷拍| 宅男在线国产精品| 含羞草久久爱69一区| 欧美精品大片| 久久久久久久久岛国免费| 亚洲视频在线观看| 最新中文字幕一区二区三区| 久久久久久久久综合| 亚洲在线日韩| 在线亚洲免费| 日韩视频一区二区三区在线播放| 韩国av一区二区三区四区| 国产精品久久久久久久久果冻传媒 | 欧美高清视频在线| 久久精品国产综合| 亚洲欧美韩国| 亚洲一区美女视频在线观看免费| 亚洲国内自拍| 亚洲国产视频一区二区|