将VTK作为程序主窗口的方法有很多,现在就介绍一种最便捷的方法,利用Qt设计师制作Ui并加入项目。
1、新建一个空的Qt项目
如下图,后面默认即可。
2、打开Qt设计师创建一个主窗口并将QVTKWidget部件拖入主窗口中,对主窗口进行栅格布局
将设计好的ui保存至项目文件夹,命名为“vtk.ui“
3、将*.ui添加入项目
此时Pro文件中会添加如下语句:
FORMS +=vtk.ui
4、添加vtkwidget.h、vtkwidget.cpp和main.cpp
vtkwidget.h
#ifndef VTKWIDGET_H
#define VTKWIDGET_H
#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)
#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)
#include "ui_vtk.h"
#include <QMainWindow>
class vtkwidget:public QMainWindow,public Ui::MainWindow
{
public:
vtkwidget(QMainWindow *parent=0);
};
#endif // VTKWIDGET_H
vtkwiget.cpp
#include "vtkwidget.h"
vtkwidget::vtkwidget(QMainWindow *parent):QMainWindow(parent)
{
setupUi(this);
}
main.cpp
#include <QApplication>
#include "vtkwidget.h"
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
vtkwidget *vtk=new vtkwidget;
vtk->show();
return app.exec();
}
5、修改pro文件,将vtk头文件目录和库目录加入其中,最终pro文件中内容如下
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = VTK
TEMPLATE = app
HEADERS += \
vtkwidget.h
SOURCES += \
vtkwidget.cpp \
main.cpp
FORMS +=vtk.ui
INCLUDEPATH += E:\CPlusPlusLib\VTK\include\vtk-6.2\
LIBS += E:/CPlusPlusLib/VTK/lib/*.lib/
6、构建项目结果
复杂些的效果图如下,本人用来显示三维点云。