天天看點

BestMPRBaseVtk-002-修改工程,搬運官方代碼并嘗試了解-1

BestMPRBaseVtk-002-修改工程,搬運官方代碼并嘗試了解-1

修改工程,搬運官方代碼并嘗試了解-1

昨天,蘋果剛釋出了他們的新産品,帶劉海的筆記本出現了,真的很哇瑟呀。昨天夜裡又夢到張扁扁了,哎。

今天這篇主要是水一篇,在原來的基礎上,引入了另一個名稱的插件,兩個插件功能一樣,名字不一樣而已,還有一個實作工程,因為我沒發現搞成插件,不好測試,至少目前還沒有發現啥好的測試方法,隻能每次替換Qt目錄下的插件,好費力,是以我就先直接先建一個普通的工程,把功能都實作了,在做遷移。

文章目錄

1 新增子項目

2 先可以顯示圖檔了

3 了解官方代碼

3.1 構造函數

3.1.1 焦點政策

3.1.2 setUpdateBehavior

3.1.3 setMouseTracking

3.1.4 grabGesture

☞ 源碼

關鍵字: Qt 插件、VTK9.0.3、子項目、測試、實作

相比之前,多了公司的插件工程和代碼實作工程,因為如果直接寫插件,目前我還不知道咋調試,每次都需要把插件放到Qt目錄下,還得重新開機Qt,真的好煩人呀。

BestMPRBaseVtk-002-修改工程,搬運官方代碼并嘗試了解-1

後面基本思想還是移植vtk官方的插件内容,先搞起來再說吧。

本次顯示圖檔毫無任何技術含量,就是官方庫換名字。上面自己抄官方代碼來的,下面是使用官方内容。沒有任何技術含量。

BestMPRBaseVtk-002-修改工程,搬運官方代碼并嘗試了解-1
BPPMPRWidget::BPPMPRWidget(QWidget *parent, Qt::WindowFlags f) : BPPMPRWidget(vtkSmartPointer<vtkGenericOpenGLRenderWindow>::New().GetPointer(),parent,f)
{

}

BPPMPRWidget::BPPMPRWidget(vtkGenericOpenGLRenderWindow *window, QWidget *parent, Qt::WindowFlags f) : Superclass(parent,f),RenderWindow(nullptr),RenderWindowAdapter(nullptr),EnableHiDPI(true),UnscaledDPI(72),DefaultCursor(QCursor(Qt::ArrowCursor))
{

    //預設設定為強焦點
    this->setFocusPolicy(Qt::StrongFocus);                      //焦點政策,即小部件可以通過Tab鍵和單擊接受焦點,在MacOS上,這也表明當處于"文檔、清單焦點模式"時,小部件接受頁籤焦點
    this->setUpdateBehavior(QOpenGLWidget::NoPartialUpdate);
    this->setMouseTracking(true);
    //使用本地updateSize替換原來的resize
    this->connect(this,&BPPMPRWidget::resized,this,&BPPMPRWidget::updateSize);
    this->setRenderWindow(window);
    //啟用Qt手勢支援
    this->grabGesture(Qt::PinchGesture);
    this->grabGesture(Qt::PanGesture);
    this->grabGesture(Qt::TapGesture);
    this->grabGesture(Qt::TapAndHoldGesture);
    this->grabGesture(Qt::SwipeGesture);
}
      
BestMPRBaseVtk-002-修改工程,搬運官方代碼并嘗試了解-1
BestMPRBaseVtk-002-修改工程,搬運官方代碼并嘗試了解-1
BestMPRBaseVtk-002-修改工程,搬運官方代碼并嘗試了解-1

繼續閱讀