Qt&Vtk-026-QScalarsToColors

简介: Qt&Vtk-026-QScalarsToColors

image.png 摘要


文章目录


1 官方示例展示

2 代码搬运

2.1 qscalarstocolors.h

2.2 qscalarstocolors.cpp

3 运行效果

★ 源码 ★

1 官方示例展示

今天我们又来搬运代码了,今天搬运的是官方实例QScalarsToColors,下面看向官方实例演示

image.png

#ifndef QSCALARSTOCOLORS_H
#define QSCALARSTOCOLORS_H
#include <QWidget>
#include "QVTKOpenGLWidget.h"               //新版本,旧版QVTKWidget
#include "vtkAutoInit.h"
#include "QVTKOpenGLWidget.h"
#include "vtkChartXY.h"
#include "vtkColorTransferFunction.h"
#include "vtkCompositeTransferFunctionItem.h"
#include "vtkContextScene.h"
#include "vtkContextView.h"
#include "vtkFloatArray.h"
#include "vtkGenericOpenGLRenderWindow.h"
#include "vtkMath.h"
#include "vtkNew.h"
#include "vtkPiecewiseFunction.h"
#include "vtkPlot.h"
#include "vtkQtTableView.h"
#include "vtkRenderer.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkTimerLog.h"
#include <QResizeEvent>
namespace Ui {
class QScalarsToColors;
}
class QScalarsToColors : public QWidget
{
    Q_OBJECT
public:
    explicit QScalarsToColors(QWidget *parent = 0);
    ~QScalarsToColors();
    void resizeEvent(QResizeEvent *event)override;
private:
    Ui::QScalarsToColors *ui;
    QVTKOpenGLWidget *qvtkWidget = nullptr;
    vtkNew<vtkGenericOpenGLRenderWindow> renderWindow;
    vtkNew<vtkContextView> view;
};
#endif // QSCALARSTOCOLORS_H

2.2 qscalarstocolors.cpp


#include "qscalarstocolors.h"
#include "ui_qscalarstocolors.h"
QScalarsToColors::QScalarsToColors(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::QScalarsToColors)
{
    ui->setupUi(this);
    qvtkWidget = new QVTKOpenGLWidget(ui->widget);
    qvtkWidget->SetRenderWindow(renderWindow);
    view->SetRenderWindow(qvtkWidget->GetRenderWindow());
    view->SetInteractor(qvtkWidget->GetInteractor());
    vtkNew<vtkChartXY> chart;
    chart->SetTitle("Chart");
    view->GetScene()->AddItem(chart);
    vtkNew<vtkColorTransferFunction> colorTransferFunction;
    colorTransferFunction->AddHSVSegment(0.,0.,1.,1.,0.3333,0.3333,1.,1.);
    colorTransferFunction->AddHSVSegment(0.3333,0.3333,1.,1.,0.6666,0.6666,1.,1.);
    colorTransferFunction->AddHSVSegment(0.6666,0.6666,1.,1.,1.,0.,1.,1.);
    colorTransferFunction->Build();
    vtkNew<vtkPiecewiseFunction> opacityFunction;
    opacityFunction->AddPoint(0.,0.);
    opacityFunction->AddPoint(0.5,0.5);
    opacityFunction->AddPoint(1.,1.);
    vtkNew<vtkCompositeTransferFunctionItem> item3;
    item3->SetColorTransferFunction(colorTransferFunction);
    item3->SetOpacityFunction(opacityFunction);
    item3->SetOpacity(0.2);
    item3->SetMaskAboveCurve(true);
    chart->AddPlot(item3);
}
QScalarsToColors::~QScalarsToColors()
{
    delete ui;
}
void QScalarsToColors::resizeEvent(QResizeEvent *event)
{
    qvtkWidget->resize(ui->widget->size());
}

image.pngimage.png

目录
相关文章
|
机器学习/深度学习 存储 算法
如何将照片或者视频中的背景图抠掉,机器学习开源项目使用 | 机器学习
如何将照片或者视频中的背景图抠掉,机器学习开源项目使用 | 机器学习
如何将照片或者视频中的背景图抠掉,机器学习开源项目使用 | 机器学习
|
12月前
|
Python
Python自动化:xlwings合并Excel
Python自动化:xlwings合并Excel
171 0
|
9月前
|
存储 人工智能 前端开发
【AI系统】LLVM IR 基本概念
本文深入探讨了LLVM的IR(中间表示)概念,解释了其在编译器工作原理中的重要性及应用方式。LLVM IR作为一种适中抽象级别的表示形式,能有效捕捉源代码信息,支持编译器的灵活操作与优化。文章进一步分析了LLVM IR的不同表现形式,包括内存中的编译中间语言、硬盘上的二进制格式和人类可读的文本格式,以及通过具体示例展示了如何使用Clang将C语言程序编译为LLVM IR。此外,还详细解析了LLVM IR的基本语法、条件语句、循环结构和指针操作等内容。
230 3
|
10月前
|
存储 算法 安全
SnowflakeIdGenerator-雪花算法id生成方法
SnowflakeIdGenerator-雪花算法id生成方法
330 1
|
11月前
|
Python
【10月更文挑战第7天】「Mac上学Python 15」小学奥数篇1 - 如何平分6个苹果和4个橘子
本篇将通过 Python 和 Cangjie 双语讲解一个简单的数学题:如何平分 N 个苹果和 M 个橘子。这道题旨在锻炼初学者的逻辑思维,并学会使用编程解决实际问题。
253 1
【10月更文挑战第7天】「Mac上学Python 15」小学奥数篇1 - 如何平分6个苹果和4个橘子
|
弹性计算 运维 监控
解密阿里云弹性计算:探索云服务器ECS的核心功能
阿里云ECS是核心计算服务,提供弹性云服务器资源,支持实例按需配置、集群管理和监控,集成安全防护,确保服务稳定、安全,助力高效业务运营。
627 0
|
弹性计算 安全 Linux
使用阿里云服务器安装宝塔面板教程(超详细)
使用阿里云服务器安装宝塔面板教程(超详细)阿里云服务器网以CentOS操作系统为例,安装宝塔Linux面板,先远程连接到云服务器,然后执行宝塔面板安装命令,系统会自动安装宝塔面板,安装完成后会返回面板地址、账号和密码。阿里云服务器网来详细说下阿里云服务器安装宝塔面板教程,超简单,一步步跟着操作即可。
878 0
|
关系型数据库 OLAP 分布式数据库
揭秘Polardb与OceanBase:从OLTP到OLAP,你的业务选对数据库了吗?热点技术对比,激发你的选择好奇心!
【8月更文挑战第22天】在数据库领域,阿里巴巴的Polardb与OceanBase各具特色。Polardb采用共享存储架构,分离计算与存储,适配高并发OLTP场景,如电商交易;OceanBase利用灵活的分布式架构,优化数据分布与处理,擅长OLAP分析及大规模数据管理。选择时需考量业务特性——Polardb适合事务密集型应用,而OceanBase则为数据分析提供强大支持。
3590 2
|
数据采集 JavaScript 前端开发
Vue框架的优缺点是什么
【7月更文挑战第5天】 Vue框架:组件化开发利于重用与扩展,响应式数据绑定简化状态管理;学习曲线平缓,生态系统丰富,集成便捷,且具性能优化手段。缺点包括社区规模相对小,类型支持不足(Vue 3.x改善),路由和状态管理需额外配置,SEO支持有限。随着发展,部分缺点正被克服。
336 1
|
安全 大数据 数据库
现代图书馆管理系统的设计与应用
现代社会信息量急剧增加,图书馆作为知识的仓库和传播中心,承载着重要的社会功能。随着科技的发展,传统的图书馆管理方式已经无法满足日益增长的需求,因此图书馆管理系统应运而生。本文将探讨图书馆管理系统的设计原理、功能特点以及应用效果,旨在为图书馆管理者提供参考,促进图书馆管理水平的提升。
735 0