QT VTK 经常需要结合开发,我的环境是 QT5 、VS2015,WIN10
一、先用VS 创建QT项目,界面类的,最好先整好,个别个面处理也可以;保留此项目;
二、使用CMake 将VTK 编译进来;相应可以使用VTK;
cmake_minimum_required(VERSION 3.0)
FIND_PACKAGE(VTK)
IF(NOT VTK_DIR)
MESSAGE(FATAL_ERROR "Please set VTK_DIR.")
ENDIF()
INCLUDE(${VTK_USE_FILE})
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
find_package(Qt5 COMPONENTS Core Gui Widgets Qml Quick Sql REQUIRED)
find_package(Qt5LinguistTools REQUIRED)
set(QtShowData_SRCS
main.cpp
QtShowData.cpp
imagewidget.cpp
)
set(QtShowData_HEADERS
QtShowData.h
imagewidget.h
common.h
)
set(QtShowData_FORMS
QtShowData.ui
imagewidget.ui
)
set(QtShowData_RESOURCES
QtShowData.qrc
)
set(QtShowData_TRANSLATIONS
)
QT5_CREATE_TRANSLATION(QM_FILES
${CMAKE_SOURCE_DIR}/QtShowData
${Medical_TRANSLATIONS}
OPTIONS -source-language zh_CN -noobsolete
)
AUX_SOURCE_DIRECTORY( ./ QtShowData_SRCS )#查询DicomEx文件夹下的所有cpp文件
file(GLOB_RECURSE CURRENT_HEADERS_LOCAL *.h *.hpp)
source_group("Header Files" FILES ${QtShowData_HEADERS})
source_group("Source Files" FILES ${QtShowData_SRCS})
source_group("Forms" FILES ${QtShowData_FORMS})
source_group("Resources" FILES ${QtShowData_RESOURCES})
source_group("Translation Files" FILES ${QtShowData_TRANSLATIONS})
include_directories(${CMAKE_SOURCE_DIR}/QtShowData)
link_directories(${CMAKE_SOURCE_DIR})
IF(CMAKE_CL_64)
IF(CMAKE_BUILD_TYPE STREQUAL Release)
# link_directories(${CMAKE_SOURCE_DIR}/Includes/hawkgirl/lib/x64/Release)
ELSE()
# link_directories(${CMAKE_SOURCE_DIR}/Includes/hawkgirl/lib/x64/Debug)
ENDIF()
ELSE()
IF (CMAKE_BUILD_TYPE STREQUAL Release)
link_directories(${CMAKE_SOURCE_DIR}/Includes/libs/Win32/Release)
ELSE()
link_directories(${CMAKE_SOURCE_DIR}/Includes/libs/Win32/Debug)
ENDIF()
ENDIF()
add_executable(QtShowData WIN32 EXCLUDE_FROM_ALL ${QtShowData_SRCS} ${QtShowData_HEADERS} ${QtShowData_FORMS} ${QtShowData_RESOURCES} ${QtShowData_TRANSLATIONS})
target_link_libraries(QtShowData
${VTK_LIBRARIES}
)
set_target_properties(QtShowData
PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/libs/for_vtk6.3"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/libs"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
target_link_libraries(QtShowData Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Qml Qt5::Quick Qt5::Sql)
三、使用CMake 编译出的工程,用缺陷,不能创建QT类,所以QT的工程要保留,如果创建QT类,可以使用它;
DEMO https://download.csdn.net/download/q610098308/15722796