日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vtkBorderWidget设置窗口位置的问题

發(fā)布時(shí)間:2023/12/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vtkBorderWidget设置窗口位置的问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

? ?在使用vtkBorderWidget的過程中,需要改變Widget的位置和大小,網(wǎng)上提供的一種方法是:

?

  • representation->GetPositionCoordinate()->SetCoordinateSystemToWorld();?
  • representation->GetPosition2Coordinate()->SetCoordinateSystemToWorld();?
  • representation->SetPosition(pos[0],pos[1]);?
  • representation->SetPosition(pos1[0],pos1[1]);?
  • ?

    ? ?這種方法雖然能設(shè)置widget的位置,但是卻使widget失去了與鼠標(biāo)交互的能力,參考vtkBorderReprsentation的源代碼發(fā)現(xiàn),在構(gòu)造函數(shù)中,widget位置的初始化采用的是:

  • this->PositionCoordinate->SetCoordinateSystemToNormalizedViewport();?
  • ?this->PositionCoordinate->SetValue(0.05,?0.05);?
  • ?this->Position2Coordinate?=?vtkCoordinate::New();?
  • ?this->Position2Coordinate->SetCoordinateSystemToNormalizedViewport();?
  • ?this->Position2Coordinate->SetValue(0.1,?0.1);?
  • ? ? ?于是按照這樣的思路改寫代碼如下:
  • representation->GetPositionCoordinate()->SetCoordinateSystemToNormalizedViewport();?
  • representation->GetPosition2Coordinate()->SetCoordinateSystemToNormalizedViewport();?
  • representation->SetPosition(pos[0],pos[1]);?
  • representation->SetPosition(pos1[0],pos1[1]);?
  • ? ?最終的結(jié)果是,widget位置按照自己的意愿進(jìn)行修改,并且能夠繼續(xù)和鼠標(biāo)進(jìn)行交互。

    轉(zhuǎn)載于:https://blog.51cto.com/2845385/1071943

    總結(jié)

    以上是生活随笔為你收集整理的vtkBorderWidget设置窗口位置的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。