计算机系统: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
打开*.pro文件,添加
QMAKE_LIBDIR += D:/install_debug/lib/vtk-5.10
打开*.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的安装与测试
[4]使用Qt Creator开发VTK
[5]QT下VTK的安装(QTCreator+VTK5.8.0)
[6]VTK/Configure and Build
[7]Adding Qt Designer Plugins