QT VTK 结合开发

64 篇文章 17 订阅

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

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Qt是一种跨平台的C++应用程序开发框架,它提供了丰富的功能和工具来简化对图形用户界面(GUI)的开发Qt具有用户友好的API和强大的跨平台能力,使开发人员能够轻松地创建高质量的GUI应用程序。无论是在Windows、Mac还是Linux等操作系统上,Qt都能提供一致的用户体验。 VTK是可视化工具包(Visualization Toolkit)的缩写,是一种用于构建三维可视化应用程序的开源软件库。VTK提供了一个丰富的工具集,用于处理和呈现各种类型的数据,包括医学图像、科学数据等。它支持多种可视化技术,如体绘制、表面绘制、体积渲染等,使开发人员可以在应用程序中实现复杂的可视化效果。 CSDN是中国最大的IT技术社区,是程序员们学习、交流经验和分享知识的平台。CSDN提供大量的技术教程、开发工具和资源,涵盖了各种编程语言、开发框架和软件工程领域。在CSDN上,开发人员可以通过博客、问答和论坛等方式与其他IT专业人士互动,解决技术难题,探讨最新的技术发展动态。 综上所述,QT是一个跨平台的C++应用程序开发框架,VTK是一种用于构建三维可视化应用程序的开源软件库,而CSDN是中国最大的IT技术社区。这三者在不同领域中发挥着重要的作用,为开发人员提供了丰富的开发工具和资源,使他们能够更轻松地开发高质量的应用程序,并与其他开发人员进行交流和分享。 ### 回答2: QT是一种跨平台的图形用户界面开发框架,可以帮助开发者快速创建应用程序的用户界面。它提供了丰富的GUI组件和工具,以及强大的事件处理和信号槽机制,使得开发者可以轻松实现各种功能和交互效果。 VTK是一种用于可视化和图形处理的开源软件系统,主要针对科学数据可视化和计算机辅助设计等领域。VTK提供了一系列的算法和工具,支持创建、操作和呈现复杂的三维图形和图像数据。它可以与其他图形库(如OpenGL)结合使用,提供更高层次的功能和灵活性。 CSDN是一个为开发者提供学习、交流和分享的专业技术社区。在CSDN上,开发者可以浏览各种编程语言、开发工具和技术框架的学习资料,还可以参与技术论坛和社群活动,与其他开发者进行交流和合作。CSDN也提供了一些付费课程和认证考试,帮助开发者提升技能水平和职业发展。 综上所述,QTVTK和CSDN都是和软件开发和图形处理相关的技术和平台。QTVTK可以帮助开发者轻松创建和操作图形界面和图像数据,而CSDN则是一个学习和交流的社区,为开发者提供了学习资料和交流平台。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恋恋西风

up up up

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值