文档章节

Qt中遇到的Debug/Relase两个不同模式下QVTKWidget控件的一个问题

天蚕宝衣
 天蚕宝衣
发布于 2017/06/21 17:59
字数 402
阅读 55
收藏 0
点赞 0
评论 0

QVTKWidget控件不是Qt中默认控件,需要手动编译。用CMake编译VTK过程中,需要选择VTK支持QT。网络上有很多教程,不再重复了。

但有一点要提醒大家:只需要将Release版本中QVTKWidgetPlugin.dll和QVTKWidgetPlugin.lib放在designer文件夹下就可以了,QVTK.dll不需要放入该文件夹下,否则会出现:

qwidget: must construct a qapplication before a qpaintde 错误,因为Release与Debug中DLL混合在一起。

vtkImageViewer2类中的对象适合于显示图像,对vtkActor、vtkRender等已经做了封装。

测试代码如下:

    // 创建vtk图像阅读器2类的对象用来显示其他对象读取到内存中的图像。
    m_pImageViewer = vtkSmartPointer<vtkImageViewer2>::New();
    // 渲染场景。
    m_pRenderder = vtkSmartPointer<vtkRenderer>::New();     
    // 设置m_QVTKWidget的渲染器。
    ui->m_QVTKWidget->GetRenderWindow()->AddRenderer(m_pRenderder);
    // 用vtkJPEGReader类的对象读取JPG图像,即将磁盘中的图像加载进内存中。
    vtkSmartPointer<vtkJPEGReader> reader = vtkSmartPointer<vtkJPEGReader>::New();
    reader->SetFileName(fileName_str);
    // 将reader的输出作为m_pImageViewer的输入,并设置m_pImageViewer与渲染器m_pRenderer的关联。
    m_pImageViewer->SetInput(reader->GetOutput());
    m_pImageViewer->UpdateDisplayExtent();
    // 设置为同一个渲染窗口。
    m_pImageViewer->SetRenderWindow(ui->m_QVTKWidget->GetRenderWindow());
    // 设置渲染场景。
    m_pImageViewer->SetRenderer(m_pRenderder);       
    // 交互方式。
    m_pImageViewer->SetupInteractor(ui->m_QVTKWidget->GetRenderWindow()->GetInteractor());
    // 默认就是这个方向的。    
    m_pImageViewer->SetSliceOrientationToXY(); 
    m_pImageViewer->GetImageActor()->InterpolateOff();
    m_pRenderder->ResetCamera();
    m_pRenderder->DrawOn();
    // 自动绘制出图像。
    ui->m_QVTKWidget->GetRenderWindow()->Render();

QVTKWidget部件显示二维图像的效果如下图,在基于Qt开发的数字图像处理软件中显示,并同时读取图片的尺寸图像深度通道数等基本属性。

这里写图片描述

本文转载自:http://blog.csdn.net/learn_sunzhuli/article/details/45830135

共有 人打赏支持
天蚕宝衣
粉丝 18
博文 237
码字总数 178069
作品 0
天津
ITK, VTK, QT 安装与配置问题记录

问题参考: 问题一:配置完成,运行程序总提示缺少ITKCommon4_*.dll,QVTK.dll等问题: 一 般这种情况是找不到dll所在的路径,环境变量没有设置。在环境变量path中加入ITK,VTK的bin路径,这样...

NineRec
2013/10/13
0
0
闲扯-VTK与QT整合开发中的问题

通篇闲扯。但是发现还是有人在看,而且自己最近重新来过,这篇文章确实略微有用。争取找时间修改下。 之前曾质疑是否要一用QT来整合开发ITK、VTK,原来的想法是直接用VS2010,c++开发。后来发...

NineRec
2013/04/05
0
0
VTK 6.3.0 Qt 5.4 MinGW 4.9.1 Configuration 配置

Download VTK 6.3.0 Download Qt 5.4 with MinGW 4.9.1 Download CMake 3.2.0 I assume you've already installed Qt 5.4 with MinGW 4.9.1 and CMake 3.2.0 correctly. Pre-process the VTK......

机器的心脏
2017/12/15
0
0
topic1:Qt入门之搭建环境与hello world看Qt开发框架

1、搭建开发环境 网上有太多的开发环境的详细文章,并且window开发环境包都封装好了,按着顺序一步步来,基本没有问题,这里说明一下需要安装的内容: 编译器,常常是mingw编译器,可去官网下...

zhouhb1
2013/06/26
0
0
Qt自定义控件的创建与初步使用

本篇博客的目的是简单介绍:创建一个用QLabel类来显示图片的自定义控件的编写。在写自定义控件的过程中遇到了很多的难题,但都慢慢解决了,本人对Qt自定义控件的认识还不深刻,做的不对的地方...

qq_15094525
2017/01/06
0
0
QT库报内存漰溃,可能是DLL出错问题

最近在搞QT开发时总是会遇到”堆出错中断的问题”,仔细查找后发现是对QT库的不了解,导致配制依赖库时出错导致. QT库有DEBUG和RELEASE两个版本,这个程序员都会知道.但是他们放在一起时如何来区...

renwoxingshen
06/26
0
0
Ubuntu下Qt5.6.2开发环境搭建

目录 目录 前言 Qt下载地址 Qt的Ubuntu版本安装过程 Qt的ODROID版本交叉编译工程 Qt编译选项解析 其他 总结 前言 因为开发需要用到Qt,本来想用Qt4,但是想想永远接触的是老的东西,将永远跟...

simonforfuture
2017/11/17
0
0
现在QT可以遵循LGPL协议。有一个问题想确定一下。。。。

我想在windows下使用QT界面库,遵循LGPL协议,当我release我的商业软件时,QT的动态库需要另外分开relase吗?还是可以打包一起发布? 另外,还想知道有需要注意什么?谢谢...

IT_Young
2011/11/08
1K
3
QtQuick项目部署

环境准备: Windows平台(我这是Windows油条加鸡蛋,就是Windows10嘛) 安装好Qt(这不是废话嘛) 把%QtDir%/Bin添加到系统环境环境变量 一个编译通过的QtQuick项目 Tips:编译结果分为debug | r...

jannn
2016/03/23
103
0
Template+=fakelib 小记

可能大家或多或少都在qmake的.pro/.pri文件中见过这种代码 TEMPLATE += fakelibMY_NAME = $$qtLibraryTarget(dbzhang800)TEMPLATE -= fakelib 如果真的没见过,或许可以从这儿入手分析与学习...

晨曦之光
2012/05/08
150
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spark Streaming + Kafka Integration Guide

The Spark Streaming integration for Kafka 0.10 is similar in design to the 0.8 Direct Stream approach. It provides simple parallelism, 1:1 correspondence between Kafka partition......

刺猬一号
12分钟前
0
0
数据结构与算法2

一个数组的例子,实现查找,显示和删除的功能。 在这个数组中存储的数据类型是long型,使用long型为的是表明这是数据,而int型被用来表示下标。通常数据结构存储的数据项包含有好几个字段,所...

沉迷于编程的小菜菜
22分钟前
0
0
Python3 基于 requests 批量下载图片

Python3 基于 requests 批量下载图片 import requestsheaders = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encod......

leeyi
23分钟前
0
0
java获取当前时间所在一周的周一和周日日期

/** * 当前时间所在一周的周一和周日时间 * @param time 当前时间 * @return */ public static Map getWeekDate(String time) { Map map = new HashedMap(); SimpleDateFormat sdf = new Si......

小弱鸡
55分钟前
0
0
Redis数据的导出和导入(dump和load方式)

网上有些文章已经不再适用,本人也是踩了些坑,在此记录下。 迁移redis数据一般有如下3种方式: 第三方工具redis-dump,redis-load aof机制,需要开启aof功能 rdb存储机制 这里介绍第一种方式...

iplusx
今天
2
0
ElasticSearch 高亮显示大文档搜索结果

2016年12月,我们开始研究Ambar——一个文档搜索系统。Ambar使用ElasticSearch作为核心搜索引擎。 在Ambar开发的过程中,我们处理了很多与ES相关的问题,我们想分享我们得到的宝贵经验。让我...

九州暮云
今天
1
0
Python 使用 pywifi 模块 破解wifi密码

git https://github.com/awkman/pywifi 常见常量 from pywifi import const# Define interface status.IFACE_DISCONNECTED = 0IFACE_SCANNING = 1IFACE_INACTIVE = 2IFACE_CONNEC......

阿豪boy
今天
2
0
phpstorm使用Iedis

phpstorm的redis插件Iedis是真好用 看了网上挺多的文章,但是由于我系统还是ubuntu,就有点尴尬了,现在破解之后,留个笔记,即使自己之后有需要也可以很快翻阅 先下载资源 资源下载 zip压缩...

贤郎--均灵
今天
0
0
第三章 spring-bean之FactoryBeanRegistrySupport(4)

前言 从FactoryBeanRegistrySupport类的名字可以看出FactoryBeanRegistrySupport负责FactoryBean的注册与支持。如果想知道FactoryBean相关的资料,请阅读spring-bean中关于FactoryBean的解读...

鸟菜啊
今天
0
0
CentOS “Destination Host Unreachable”问题解决办法

挑战极速安装CentOS时遇到局域网主机不能通信的情况: [root@zjd network-scripts]# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=......

wffger
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部