计算机系统:Win7
编译器:Microsoft Visual C++ Compiler 2010
Qt版本:Qt 4.8.5
VTK版本:5.10.1
1 Qt安装
参考《Win8.1 + MinGW4.4 + Qt Creator 3.3.2 + Qt 5.2.1》。
2 VTK编译&安装
参考《VS2012编译安装VTK-6.2.0(支持Qt5.2.1)》。
3 QVTKWidget
按照参考资料[2]的方法,将QVTKWidgetPlugin.dll、QVTKWidgetPlugin.exp、QVTKWidgetPlugin.lib复制到C:\Qt\4.8.5\plugins\designer目录中,但是Qt Creator并未能成功加载此插件。
根据参考资料[7]可知应该将上述3个文件复制到C:\Qt\qtcreator-2.8.1\bin\plugins\designer中,而不是C:\Qt\4.8.5\plugins\designer。此时,QVTKWidget插件可以成功加载。
4 VTK实例
由于参考资料[2]中给出的实例格式有问题,这里将整理后再粘贴出来,如下所示:
#include "mainwindow.h"
#include <QApplication>
#include<vtkSmartPointer.h>
#include<vtkSphereSource.h>
#include<vtkPolyDataMapper.h>
#include<vtkActor.h>
#include<vtkImageViewer.h>
#include<vtkRenderWindowInteractor.h>
#include<vtkInteractorStyleImage.h>
#include<vtkJPEGReader.h>
#include<vtkRenderer.h>
#include<QVTKWidget.h>
int main(int argc, char *argv[])
{
#if 0
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
#endif
QApplication app(argc,argv);
QVTKWidget widget;
widget.resize(256,256);
//Setupsphere
vtkSmartPointer<vtkSphereSource>sphereSource=vtkSmartPointer<vtkSphereSource>::New();
sphereSource->Update();
vtkSmartPointer<vtkPolyDataMapper>sphereMapper=vtkSmartPointer<vtkPolyDataMapper>::New();
sphereMapper->SetInputConnection(sphereSource->GetOutputPort());
vtkSmartPointer<vtkActor>sphereActor= vtkSmartPointer<vtkActor>::New();
sphereActor->SetMapper(sphereMapper);
//Setupwindow
vtkSmartPointer<vtkRenderWindow>renderWindow=vtkSmartPointer<vtkRenderWindow>::New();
//Setuprenderer
vtkSmartPointer<vtkRenderer>renderer=vtkSmartPointer<vtkRenderer>::New();
renderWindow->AddRenderer(renderer);
renderer->AddActor(sphereActor);
renderer->ResetCamera();
widget.SetRenderWindow(renderWindow);
//mainWindow.setCentralWidget(widget);
//mainWindow.show();
widget.show();
app.exec();
return EXIT_SUCCESS;
}
4.1 头文件路径设置
打开*.pro文件,添加
INCLUDEPATH += D:/install/include/vtk-5.10
4.2 库文件路径
打开*.pro文件,添加
QMAKE_LIBDIR += D:/install_debug/lib/vtk-5.10
4.3 库名
打开*.pro文件,添加
LIBS += LSDyna.lib\
MapReduceMPI.lib\
mpistubs.lib\
QVTK.lib\
vtkalglib.lib\
vtkCharts.lib\
vtkCommon.lib\
vtkDICOMParser.lib\
vtkexoIIc.lib\
vtkexpat.lib\
vtkFiltering.lib\
vtkfreetype.lib\
vtkftgl.lib\
vtkGenericFiltering.lib\
vtkGeovis.lib\
vtkGraphics.lib\
vtkhdf5.lib\
vtkhdf5_hl.lib\
vtkHybrid.lib\
vtkImaging.lib\
vtkInfovis.lib\
vtkIO.lib\
vtkjpeg.lib\
vtklibxml2.lib\
vtkmetaio.lib\
vtkNetCDF.lib\
vtkNetCDF_cxx.lib\
vtkpng.lib\
vtkproj4.lib\
vtkRendering.lib\
vtksqlite.lib\
vtksys.lib\
vtktiff.lib\
vtkverdict.lib\
vtkViews.lib\
vtkVolumeRendering.lib\
vtkWidgets.lib\
vtkzlib.lib\
参考资料
[1]Qt VTK ITK安装与测试(一) Qt的安装与测试
[2]Qt VTK ITK安装与测试(二)VTK的安装与测试
[3]Qt VTK ITK安装与测试(三)ITK的安装与测试