加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

QVTKWidget的用法

(2012-02-14 20:59:10)
标签:

杂谈

分类: Qt VTK

三维建模编程技术路线之一是Qt+VTK+CMake,其中QVTKWidget类非常重要,是沟通Qt和VTK的桥梁,可以将VTK的图形窗口嵌入到Qt的窗口中。这里简单介绍一下嵌入的方法:

 

(1)创建QVTKWidget的subclass

//----------------------------------------------------------

#include <QVTKWidget.h>

 

class        vtkRender;

class        vtkRenderWindowInteractor;

 

class        myVTKWidget : public QVTKWidget

{

         Q_OBJECT

public:

         explicit    myVTKWidget(QWidget *parent = 0)

 

         vtkRender                                            *ren1;

         vtkRenderWindowInteractor          *iren;

 

signals:

 

public slots:

 

}

 

//-------------------------------------------------------------

#include “myVTKWidget.h”

 

#include “vtkRender.h”

 

myVTKWidget::myVTKWidget(QWidget *parent) :

         QVTKWidget(parent)

{

         //

         this->ren1 = vtkRenderer::New();

         this->GetRenderWindow()->AddRenderer(ren1);

 

         this->iren = this->GetInteractor();

 

}

 

(2)ren1用于展现三维场景中的物体。

(3)iren用于与三维场景中的物体交互。

(4)创建QMainWindow的subclass

 

//-----------------------------------------------------------------------------

#include <QMainWindow>

 

class         myMainWindow : public QMainWindow

{

         Q_OBJECT

public:

         explicit     myMainWindow(QWidget *parent = 0)

 

signals:

 

public slots:

 

}

 

//------------------------------------------------------------------------

#inlcude “mymainwindow.h”

 

#include “myVTKWidget.h”

 

myMainWindow::myMainWindow(QWidget *parent) :

         QMainWindow(parent)

{

 

         //

         this->setCentralWidget(new myVTKWidget(this));

 

}

 

(5)setCentralWidget()将vtk图形窗口嵌入到Qt的中心窗口里。

 

 

0

阅读 收藏 喜欢 打印举报/Report
前一篇:高分
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有