文档章节

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

天蚕宝衣
 天蚕宝衣
发布于 2017/06/21 17:59
字数 402
阅读 85
收藏 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

共有 人打赏支持
天蚕宝衣
粉丝 24
博文 240
码字总数 179371
作品 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
Qt自定义控件的创建与初步使用

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

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

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

renwoxingshen
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MySQL查询执行

当我们希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,很多查询优化工作实际上就是遵循一些原则让优化器能够按照预想的合理方式...

问题终结者
45分钟前
0
0
CDH5动静态资源池配置与回滚

关于动态 静态资源池的配置以前都有提过,可以从以下几篇了解: YARN动态资源池配置案例 https://yq.aliyun.com/ziliao/346856# Hadoop YARN配置参数剖析(4)—Fair Scheduler相关参数 Hadoop...

hblt-j
50分钟前
3
0
WordPress仿站实战教程

有一个月没有写blog了,一直在学习wordpress的知识,现在能够进行简单的政府企业门户网站的仿制,wordpress的主题订制,一般是对前端要求比较高,wordpress学会了,建站还是非常的快的。下面...

临江仙卜算子
52分钟前
3
0
图像库stb_image

https://github.com/nothings/stb 目前一般主流的图像格式也就是bmp,jpg,png,tga,dds,除了DDS一般是给DX用的,虽然一堆OpenGL程序也有用的,但是我一般只用png和tga, png不用说了,带a...

robslove
今天
1
0
Spring 事务提交回滚源码解析

前言 在上篇文章 Spring 事务初始化源码分析 中分析了 Spring 事务初始化的一个过程,当初始化完成后,Spring 是如何去获取事务,当目标方法异常后,又是如何进行回滚的,又或是目标方法执行...

TSMYK
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部