使用Qt Creator开发VTK_qt creator中没有vtk控件_小Nu的博客-程序员秘密

技术标签: Qt  VTK  vtk  QtCreator  

使用Qt Creator开发VTK

     

      在Win8的64位电脑上,为VS2010配置Qt与VTK的联合开发,出现很多问题,为了解决这种情况,我们准备换一个IDE。为Qt工程开发的QtCreator是一个轻量级的IDE,他不仅可以方便的建立Qt工程,也可以像VS2010一样用于C++的开发,只要简单配置,就可用于VTK开发,具体如何操作,请看下文。


系统配置:

操作系统:win8 64位

编译器:VS2010

Qt库:4.8.5

Qt Creator 2.7.1


一.准备工作

1.安装Qt Creator

安装完成后,因为Qt库与Qt Creator单独安装,如果想使用Qt Creator我,我们需要配置Qt Creator。 

2.配置Qt Creator

(1)指定Qt版本

在菜单栏点击工具->选项->构建与运行->Qt版本,如下图


选择Qt版本。

(2)选择编译器与调试器

在菜单栏点击工具->选项->构建与运行->构建套件,如下图


调试器如果默认没有,可以上网下载一个微软的调试器,dbg_x86_6.11.1.404.msi

http://download.csdn.net/detail/u011675242/5996067安装后即可

配置完成后,可以新建一个Qt工程,尝试运行,调试一下,如果没有问题说明配置成功,下面开始配置VTK开发。

(3)准备VTK安装包

编译VTK或下载网上已经编译好的VTK安装文件,安装文件包括VTK的静态库与动态链接库,头文件等

一个debug版本的VTK安装包,亲测可以使用。

http://download.csdn.net/detail/u011675242/5996109

准备好后开始Qt Creator的配置之旅。


二.Qt Creator配置开发VTK

1.配置思路

其实为IDE配置开发第三方库的大致步骤都一样,

第一步:添加包含头文件目录,即将VTK的include文件夹目录指定为包含目录,这样IDE就可以找到函数与类的声明。

第二步:添加库目录与库名称,即将VTK的lib文件夹目录指定为库目录,并将所有库名称添加到指定位置。

第三部:将动态库添加到Windows目录的System32文件夹,即将VTK的bin目录内的.dll文件复制到System32。

2.Qt Creator的具体配置

       因为Qt Creator新建Qt 工程时,会自动生成一个.pro文件。这个文件就是整个工程的配置文件,我们可以简单的在其中使用关键字添加头文件与库文件路径。

(1)头文件添加

使用关键字INCLUDEPATH,如下

INCLUDEPATH += D:\VTK2008_debug\VTK2008\include\vtk-5.8

(2)库文件添加

使用关键字LIBS,如下

LIBS += D:\VTK2008_debug\VTK2008\lib\vtk-5.8\MapReduceMPI.lib

LIBS+= D:\VTK2008_debug\VTK2008\lib\vtk-5.8\mpistubs.lib

LIBS+= D:\VTK2008_debug\VTK2008\lib\vtk-5.8\QVTK.lib

将所有库文件添加进去,其实这是一个一劳永逸的方法,以后如果新建工程就可以将这次配置好的文件复制进去。如果嫌麻烦,可以通过DOS命令导出库文件路径,不会的可以百度。

(3)复制dll文件

这个没什么好讲,就是将bin文件夹下的dll文件复制到System32文件夹下。


三.运行测试

   最后就是新建一个Qt空项目,编写代码,测试结果了,代码可以使用我在以前写的用于测试Qt与VTK联合开发的代码。

运行结果:





版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011675242/article/details/10200507

智能推荐

红外图像动态范围压缩和对比度增强_HowHardYouAre的博客-程序员秘密

2参考文献:Dynamic-range compression and contrast enhancement in infrared imaging systems对比度增强(CE)和动态范围压缩(DRC)技术 对比度增强技术广泛应用于图像处理中,该技术可以被划分为两类:基于非锐化掩码(unsharp mask)的方法和基于直方图均衡化(histogram equalization)的方法。基于非锐化掩码的方法的思想是将图像分解为低通成分和高通成分(低频图像和高频图像,即背景图像...

算法题——————————————用一个数组实现3个栈_一个数组实现三个栈_go_____________ahead的博客-程序员秘密

用一个数组实现3个栈实现3个栈,可以将数组分成栈1:3n+0栈2:   3n+1栈3: 3n+2代码:package Test;public class ThreeStack {Object[] stack;int s1,s2,s3;//每个栈的长度public ThreeStack(int index) { s1=0;s2=1;s3=2; stack=n...

Loki库的使用_loki使用_清_澈的博客-程序员秘密

C++设计模式类库 Loki介绍与用法Loki是由Andrei编写的一个与《Modern C++ Design》(C++设计新思维)一书配套发行的C++代码库。它不仅把C++模板的功能发挥到了极致,而且把类似设计模式这样思想层面的东西通过库来提供。本篇文章介绍如何利用Loki来轻松地实现一些设计模式。由于Loki使用了大量牛X到爆的模板技巧,对编译器的要求是很苛刻的,官

qt 定义一个长度的数组,Qt - 声明一个QLabel数组并将其添加到QTabWidget的选项卡_weixin_39838829的博客-程序员秘密

在任何情况下,您都不需要在堆上明确分配标签。您应该将它们直接存储为成员数组。否则,使用C风格数组和sizeof(array)/sizeof(array[0])成语来确定它在setup方法中的大小。写了一大堆基于QWidget的代码之后,我现在通常会认为小部件的构造函数中的堆显式地分配了子小部件,这是过早的悲观。很少有任何理由以这种方式编写代码。小部件已经在堆上分配了他们的实现数据(the pimp...

java Thread和runnable的区别_程序员面试那点事儿的博客-程序员秘密

Java中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中2.  通过实现Runnable接口,实例化Thread类     在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程。当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看一下...

随便推点

安卓短信验证_Tyno的博客-程序员秘密

安卓短信验证使用的开发者平台地址 https://www.mob.com/点击右上角的产品中心进入开发者模式创建应用填写应用信息,图片可以随意,APP名称根据自己的需要去写填写完毕,就可以查看key和secret创建好应用就可以在自己的项目中配置,阅读开发文档切记这个是放在grade(Project)中的不是(Module)这个是放置在grade(Module)下,具体位置如下,如果放错位置同步的时候会报错核心api文档的代码,具体的结构如下setcode是实现短信验证

groovy call java_Groovy中方法的调用实现方式浅析(CallSite)_一只拉面熊的博客-程序员秘密

在Groovy中可以很方便的交换两个变量的值, 如:def(a,b)=[1,2];(a,b)=[b,a];这样, a,b变量的值就交换了, 那么Groovy是怎样实现的呢?来看看生成的字节码文件, 关键的代码如下://Methoddescriptor#39()Ljava/lang/Object;//Stack:4,Locals:6publicjava.lang....

每日一道leetcode(python)108. 将有序数组转换为二叉搜索树_爱吃花椒的刺猬酱的博客-程序员秘密

每日一道leetcode108. 将有序数组转换为二叉搜索树2021-08-08给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。示例 1:输入:nums = [-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:示例 2:输入:nums = [1,3

Algorithm算法视频教程_gife008的博客-程序员秘密

课程:Algorithm算法视频教程百度网盘下载地址: http://pan.baidu.com/s/1qWFjjQW 密码: 2mji程序写的好不好,还得看算法屌不屌!Algorithm算法博大精深。 一、课程内容:课时1、算法的基本概念 + Sequential search课时2、Binary search课时3、Hash table课时4、Algor...

19条跨端cpp开发有效经验总结_阿里巴巴淘系技术团队官网博客的博客-程序员秘密

跨多端开发避坑指南前言细想,专门从事跨多端开发已两年有余,前段时间因为组里跨桌面端项目需要回归windows下开发了整整2个月,怎么形容这两个月呢,嘿嘿,各种“肆无忌惮”的写法,终于不用在...

Win7系统下电脑睡眠和休眠的区别和常见问题_win7睡眠与休眠的区别_season1437的博客-程序员秘密

以下是一些微软官方有关睡眠和休眠的常见问题解答。 问:睡眠、休眠和混合睡眠之间有什么区别? 答:“睡眠”是一种节能状态,当您希望再次开始工作时,可使计算机快速恢复全功率工作(通常在几秒钟之内)。让计算机进入睡眠状态就像暂停 DVD 播发机一样:计算机会立即停止工作,并做好继续工作的准备。“休眠”是一种主要为便携式计算机设计的电源节能状态。睡眠通常会将工作和设置保存在内存中并消耗少量

推荐文章

热门文章

相关标签