当前位置: 首页 > news >正文

XML语言数据读写理解11

    有了前10节的基础,以及我在自己的博客里发布了那个简单的QT调试窗口类,一共两个,一个是有单例的,一个不是。大家想使用的话只需要加个头文件就可以调用了。

    我们现在需要把存好的内容给显示出来,看看是不是正确读取了(虽然我觉得是正确的)。

    我们再回到以前的Nodets类里,添加如下公共public代码:

	double returnNormalizedIntensity() {
		return NormalizedIntensity;
	}
	double returnOpacity() {
		return Opacity;
	}
	inline QColor& returnEmission() {
		return Emission;
	}

    毕竟以前的成员都是私有的,现在我们需要能访问它们的接口。接下来在tsfunItem中加入新的成员函数:

	inline int returnNumOfNodes(void) {
		return numOfNodes;
	}
	inline double returnDensityScale(void) {
		return DensityScale;
	}
	inline double returnShadingType(void) {
		return ShadingType;
	}
	inline double returnGradientFactor(void) {
		return GradientFactor;
	}
	inline NodeTsList& returnTsNodes(void){
		return TsNodes;
	}
	inline void setNameID(QString& nameid) {
		NameID = nameid;
	}
	inline QString& returnNameID(void){
		return NameID;
	}

    之后在tsfunGroup类里面添加并使用这个函数:

void TsfunGroup::showXML()
{
	DebugWidget::getDebugWidget()->addContents("");
	DebugWidget::getDebugWidget()->addContents("");
	
	TsfunItem temptsfitmlist;
	for (int i = 0;i<tsfitmlist.count();i++) {
		
		temptsfitmlist = tsfitmlist[i];
		DebugWidget::getDebugWidget()->addContents(temptsfitmlist.returnNameID());
		
		DebugWidget::getDebugWidget()->addContents(QString::number(temptsfitmlist.returnDensityScale()));
		DebugWidget::getDebugWidget()->addContents(QString::number(temptsfitmlist.returnGradientFactor()));
		DebugWidget::getDebugWidget()->addContents(QString::number(temptsfitmlist.returnShadingType()));
		
		NodeTsList ssTsNodes = temptsfitmlist.returnTsNodes();
		for (int j = 0;j<ssTsNodes.count();j++) {
			QString qsrg = QString::number(ssTsNodes[j].returnEmission().red()) +" " 
				+ QString::number(ssTsNodes[j].returnEmission().green()) + " " 
				+ QString::number(ssTsNodes[j].returnEmission().blue());
			DebugWidget::getDebugWidget()->addContents(qsrg);
			DebugWidget::getDebugWidget()->addContents(QString::number(ssTsNodes[j].returnNormalizedIntensity()));
			DebugWidget::getDebugWidget()->addContents(QString::number(ssTsNodes[j].returnOpacity()));
			
		}

	}

}

    注意里面的DebugWidget::getDebugWidget()->addContents();都是用来调试的语句。

    这个程序其实很简单,就是从类里面去找子类,子类成员,然后显示出来数值而已。

显示效果如下:

normalMode
100
3
2
0 0 0
0
0
0 0 0
0.23597
0
0 0 0
0.288538
0.0179028
0 0 0
0.288578
0.563502
0 0 0
0.35417
1
0 0 0
1
1
maxMode
100
3
2
0 0 0
0
0
0 0 0
0.13597
0
0 0 0
0.188538
0.0279028
0 0 0
0.288578
0.363502
0 0 0
0.45417
1
0 0 0
1
1

    所有数据都显示正常。

    现在,我们已经能够把xml文件里面的数据读入到自己设计的结构中了,并且能够正确显示出来。下一节我们要想办法设计一个方法,把我们的结构给输出到xml格式的文件中。要注意我们是把结构里面的数据输出到xml文件,而不是说把读入的QDomdocument的结构给输出到xml文件里。

相关文章:

  • XML语言数据读写理解12
  • XML语言数据读写理解13
  • XML语言数据读写理解14
  • XML语言数据读写理解15
  • XML语言数据读写理解16
  • QT图形显示和处理1
  • QT图形显示和处理2 坐标系统(重点)
  • QT图形显示和处理3 坐标系统(重点)
  • QT图形显示和处理4
  • QT图形显示和处理5
  • QT图形显示和处理6
  • QT图形显示和处理7
  • QT图形显示和处理8
  • QT传输函数控件设计1 引子
  • QT传输函数控件设计2 体渲染和VTK
  • .pyc 想到的一些问题
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • co.js - 让异步代码同步化
  • conda常用的命令
  • HTTP中的ETag在移动客户端的应用
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JavaScript设计模式系列一:工厂模式
  • LintCode 31. partitionArray 数组划分
  • Mithril.js 入门介绍
  • vue 配置sass、scss全局变量
  • WePY 在小程序性能调优上做出的探究
  • 包装类对象
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 浮动相关
  • 面试总结JavaScript篇
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 如何实现 font-size 的响应式
  • 手写一个CommonJS打包工具(一)
  • 项目管理碎碎念系列之一:干系人管理
  • 新书推荐|Windows黑客编程技术详解
  • 以太坊客户端Geth命令参数详解
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • gunicorn工作原理
  • ​io --- 处理流的核心工具​
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #define 用法
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (003)SlickEdit Unity的补全
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Forward) Music Player: From UI Proposal to Code
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (万字长文)Spring的核心知识尽揽其中
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)jdk与jre的区别