QT&VTK学习(一)QT配置VTK

1. 建议直接下载已经编译好的vtk 包

(1)VTK 编译的debug版本的dll和lib文件,文件名的后缀会带_d,如QVTKWidgetPlugin_d.lib表示debug版本的lib文件; release版本的什么都没有。

2. 具体配置

1. 在pro文件里写好包含的头文件,头文件的来源既有编译好的Build文件夹下的,也有VTK包下的,我的配置如下
CONFIG+=
win32:LIBS += $$quote(D:\VTK\lib_debug\QVTKWidgetPlugin_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkChartsCore-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkCommonColor-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkCommonComputationalGeometry-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkCommonCore-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkCommonDataModel-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkCommonExecutionModel-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkCommonMath-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkCommonMisc-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkCommonSystem-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkCommonTransforms-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkDICOMParser-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkDomainsChemistry-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkDomainsChemistryOpenGL2-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkdoubleconversion-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkexodusII-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkexpat-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersAMR-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersCore-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersExtraction-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersFlowPaths-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersGeneral-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersGeneric-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersGeometry-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersHybrid-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersHyperTree-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersImaging-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersModeling-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersParallel-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersParallelImaging-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersPoints-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersProgrammable-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersSelection-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersSMP-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersSources-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersStatistics-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersTexture-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersTopology-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkFiltersVerdict-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkfreetype-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkGeovisCore-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkgl2ps-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkglew-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkGUISupportQt-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkGUISupportQtOpenGL-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkGUISupportQtSQL-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkhdf5-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkhdf5_hl-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkImagingColor-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkImagingCore-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkImagingFourier-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkImagingGeneral-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkImagingHybrid-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkImagingMath-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkImagingMorphological-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkImagingSources-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkImagingStatistics-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkImagingStencil-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkInfovisCore-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkInfovisLayout-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkInteractionImage-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkInteractionStyle-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkInteractionWidgets-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOAMR-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOAsynchronous-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOCityGML-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOCore-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOEnSight-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOExodus-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOExport-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOExportOpenGL2-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOExportPDF-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOGeometry-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOImage-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOImport-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOInfovis-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOLegacy-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOLSDyna-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOMINC-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOMovie-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIONetCDF-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOParallel-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOParallelXML-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOPLY-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOSegY-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOSQL-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOTecplotTable-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOVeraOut-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOVideo-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOXML-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkIOXMLParser-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkjpeg-8.2_d.lib)
# win32:LIBS += $$quote(D:\VTK\lib_debug\vtkjsoncpp-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtklibharu-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtklibxml2-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkLocalExample-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtklz4-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtklzma-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkmetaio-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkmyCommon_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkmyImaging_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkmyUnsorted_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkNetCDF-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkogg-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkParallelCore-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkpng-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkproj-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkpugixml-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingAnnotation-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingContext2D-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingContextOpenGL2-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingCore-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingFreeType-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingGL2PSOpenGL2-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingImage-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingLabel-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingLOD-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingOpenGL2-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingQt-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingVolume-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkRenderingVolumeOpenGL2-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtksqlite-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtksys-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtktheora-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtktiff-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkverdict-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkViewsContext2D-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkViewsCore-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkViewsInfovis-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkViewsQt-8.2_d.lib)
win32:LIBS += $$quote(D:\VTK\lib_debug\vtkzlib-8.2_d.lib)
win32:LIBS += opengl32.lib
2. 在pro文件写好包含的lib文件,以debug版本为例,我的配置如下:
INCLUDEPATH += "D:\Qt\Build\Common\DataModel"

INCLUDEPATH += "D:\Qt\Build"
INCLUDEPATH += "D:\Qt\VTK-8.2.0\Common\Core"
INCLUDEPATH += "D:\Qt\Build\Common\Core"
INCLUDEPATH += "D:\Qt\VTK-8.2.0\Utilities\KWIML"
INCLUDEPATH += "D:\Qt\Build\Utilities\KWIML"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\GUISupport\Qt"
INCLUDEPATH += "D:\Qt\Build\GUISupport\Qt"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\Rendering\Core"
INCLUDEPATH += "D:\Qt\Build\Rendering\Core"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\Rendering\OpenGL2"
INCLUDEPATH += "D:\Qt\Build\Rendering\OpenGL2"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\Rendering\Annotation"
INCLUDEPATH += "D:\Qt\Build\Rendering\Annotation"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\Common\DataModel"
INCLUDEPATH += "D:\QtBuild\Common\DataModel"
INCLUDEPATH += "D:\Qt\VTK-8.2.0\Common\Transforms"
INCLUDEPATH += "D:\Qt\Build\Common\Transforms"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\IO\Geometry"
INCLUDEPATH += "D:\Qt\Build\IO\Geometry"
INCLUDEPATH += "D:\Qt\VTK-8.2.0\IO\Core"
INCLUDEPATH += "D:\Qt\Build\IO\Core"
INCLUDEPATH += "D:\Qt\VTK-8.2.0\IO\Legacy"
INCLUDEPATH += "D:\Qt\Build\IO\Legacy"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\IO\Image"
INCLUDEPATH += "D:\Qt\Build\IO\Image"
INCLUDEPATH += "D:\Qt\VTK-8.2.0\IO\Movie"
INCLUDEPATH += "D:\Qt\Build\IO\Movie"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\Common\ExecutionModel"
INCLUDEPATH += "D:\Qt\Build\Common\ExecutionModel"
INCLUDEPATH += "D:\Qt\VTK-8.2.0\Common\Misc"
INCLUDEPATH += "D:\Qt\Build\Common\Misc"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\Interaction\Style"
INCLUDEPATH += "D:\Qt\Build\Interaction\Style"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\Common\Math"
INCLUDEPATH += "D:\Qt\Build\Common\Math"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\Common\Color"
INCLUDEPATH += "D:\Qt\Build\Common\Color"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\Filters\Core"
INCLUDEPATH += "D:\Qt\Build\Filters\Core"
INCLUDEPATH += "D:\Qt\VTK-8.2.0\Filters\General"
INCLUDEPATH += "D:\Qt\Build\Filters\General"
INCLUDEPATH += "D:\Qt\VTK-8.2.0\Filters\Sources"
INCLUDEPATH += "D:\Qt\Build\Filters\Sources"
INCLUDEPATH += "D:\Qt\VTK-8.2.0\Filters\FlowPaths"
INCLUDEPATH += "D:\Qt\Build\Filters\FlowPaths"

INCLUDEPATH += "D:\Qt\VTK-8.2.0\Imaging\Sources"
INCLUDEPATH += "D:\Qt\Build\Imaging\Sources"
3. 将QVTKWidgetPlugin.dll复制到Qt5\5.12.0\mingw73_64\plugins\designer目录中,注意这里我选的mingw73_64的编译环境下的文件夹,如果换个编译环境,需要换到对应文件夹的\plugins\designer
4. 将Build\bin\Debug文件夹下的所有dll文件,复制到Qt 工程第一次编译后生成的有.exe文件的文件夹下。自此,配置完成
5. 使用时,注意事项

头文件+新建widget

//
#include 
VTK_MODULE_INIT(vtkRenderingOpenGL2)
VTK_MODULE_INIT(vtkInteractionStyle)
VTK_MODULE_INIT(vtkRenderingFreeType)

private:
QVTKOpenGLWidget *meshWidget;

你可能感兴趣的:(Qt,VTK,qt,c++,linux)