vs2013+qt5.51+vtk 实现的 双view,显示并联动操作

本文参考了https://blog.csdn.net/Jecklin_online/article/details/82187558的博客,此博客是用vtk实现的,此文是在此基础上增加了qt界面是利用了qt的QVTKWidget来实现的。

1.首先我们必须将QVTKWidget加入到Qt Designer,只需找到编译好的vtk的release版本下的QVTKWidgetPlugin.dll,QVTKWidgetPlugin.exp,QVTKWidgetPlugin.lib放入到自己QT下的designer下即可(我的目录是:F:\Qt\Qt5.5.1\5.5\msvc2013\plugins\designer)

2.写好CmakeLists.txt


CMAKE_MINIMUM_REQUIRED( VERSION 2.8 )
PROJECT( qt )

#----------------------------------------------------------------------------------
FIND_PACKAGE( VTK REQUIRED )
FIND_PACKAGE( Qt5Widgets )

INCLUDE( ${VTK_USE_FILE} )


#----------------------------------------------------------------------------------
#	定义变量PROJECT_SRCS,其值为所列表的文件列表,包含所有源文件
SET( PROJECT_SRCS
	main.cpp
	ProjectMainWindow.cpp
	ProjectMainWindow.h
	
    )
#	定义变量PROJECT_UIS,其值为所列表的文件列表,包含所有的ui文件
SET( PROJECT_UIS
    ProjectMainWindow.ui
)
#	定义变量PROJECT_MOC_HDRS,其值为所列表的文件列表,包含所有Q_OBJECT的头文件
SET( PROJECT_MOC_HDRS
  ProjectMainWindow.h
  
)

#----------------------------------------------------------------------------------
#	QT5_WRAP_UI通过QT的uic.exe生成UI文件对应的ui_xxx.h文件,
#	并将生成的moc_xxx.h文件列表存储于变量PROJECT_UIS_H 里
QT5_WRAP_UI( PROJECT_UIS_H 
             ${PROJECT_UIS}
           )
#	QT5_WRAP_CPP通过QT的moc.exe将包含的Q_OBJECT的文件生成对应的moc_xxx.cxx文件,
#	并将生成的moc_xxx.cxx文件列表存储于变量PROJECT_MOC_SRCS里	
QT5_WRAP_CPP( PROJECT_MOC_SRCS 
              ${PROJECT_MOC_HDRS}
            )

#----------------------------------------------------------------------------------
#	Qt的MOC和UIC程序生成的moc_xxx.cxx和ui.xxx.h等文件是存放在CMAKE的
#	where to bulid the binaries 里指定的目录,所以必须把这些路径包含进来
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR} 
                     ${CMAKE_CURRENT_BINARY_DIR} 
                     ${VTK_DIR} 
                   )

#	Qt程序如果有资源文件(*.qrc),要包含资源文件,
#	qt5_add_resources 用的rcc.exe生成相应的qrc_xxx.cpp文件,
#	并将生成的文件列表存储于变量Project_RCC_SRCS里
#	set(Project_RCCS YourProjectName.qrc)
#	qt5_add_resources(Project_RCCS_SRCS ${Project_RCCS})



#	根据程序的cpp文件、头文件以及生成的ui_xxx.h、moc_xxx.cxx、qrc_xxx.cxx
#	等生成可执行文件,并链接Qt的动态库(Qt的动态都定义在QT_LIBRARIES变量里了)
ADD_EXECUTABLE( qt 
                ${PROJECT_SRCS} 
                ${PROJECT_UIS_H} 
                ${PROJECT_MOC_SRCS} 
              )

TARGET_LINK_LIBRARIES ( qt
  ${VTK_LIBRARIES}
  #QVTK 
  )

3.用cmake编译

4.main函数

#include "ProjectMainWindow.h"
#include <QTextCodec>

//程序发布时,可以不要注释以下语句,编译的时候就不会带控制台输出窗口
//#pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )

int main( int argc, char **argv ) 
{
	QApplication *app = new QApplication
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值