QT传输函数控件设计6 设计Dock窗体结构

2024-04-07 21:08

本文主要是介绍QT传输函数控件设计6 设计Dock窗体结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们新建一个QT类,叫MyTransferFuncDockWidget ,继承自QDockWidget。然后在继承mainWindow的类中声明 

MyTransferFuncDockWidget *mytfDockWidget;

然后在其构造函数中new一个实体。

因为我们有许多功能,多个功能作为一个功能集体,我们把相同功能的控件都定义在一个GroupBox里面,首先我们先定义一个关于节点选择的QGroupBox继承类, 名叫 TransferfunctionView 。

以及关于节点选择的QGroupBox继承类,名叫 NodeSelection 。

还有关于节点属性的QGroupBox继承类,名叫NodeProperities。

……未完待续……

 

11月3日   因为一边做一边写实在有些不方便,我决定把整个控件都弄完以后再更新。

11月4日  目前结构出现过很多问题,也都解决了,距离目标更进一步。

11月5日  重新设计了二元坐标系统结构,大致上已经完成了很多功能。

11月6日   目前已经把各种模块都做好了,只剩核心功能了。(抱歉我高估自己的业余时间了),一周恐怕难以全都完成,目前还在昼夜劳作中。

11月7日    卧槽,没想到今天竟然突发灵感然后全都实现了!突然有点小激动。实现后的效果如下:

 

昨天一大堆Bug,各种问题,快把我整到自闭。然后又是各种内存读取错误,又差点把我整到自闭。好歹在我自闭之前把整个控件都搞定了。

我们换种思路讲,首先说明一下,我把之前写过了很多类的名字都变了一下,不然不好识别。

关于之前的XML解析类:

读取一个节点的类:NodeXmlItem 

读取一个xml的Item的类:TsfunXmlItem

读取整个xml文件的类:TsfunXmlGroup

(这三个类怎么写以及怎么解析xml文件我之前花了很多章从头开始写的,想看的可以回去认真看一下)

然后我们的传输函数控件要实现的功能和特点:

1. 我们要对这个控件进行彻底的封装,和其他代码分离,这样以后再修改就很容易了。

2. 实时改变效果,即控件变动以后,渲染的效果也会随时变化。

3. 性能非常稳定。不能在使用中出现bug。(废话)

4. 结构化。

行吧,暂时就编了这四条。

如果大家想看完这个课程就能实现这个控件,一定要尽量回去把之前的xml文件给调试通,并且把各种类的名字改一改。有需要源代码的可以评论(不好意思因为整体都属于项目组的项目,所以获取是需要付费,以及附带版权说明的)。

下一节开始设计。

这篇关于QT传输函数控件设计6 设计Dock窗体结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/883679

相关文章

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

Qt中QGroupBox控件的实现

《Qt中QGroupBox控件的实现》QGroupBox是Qt框架中一个非常有用的控件,它主要用于组织和管理一组相关的控件,本文主要介绍了Qt中QGroupBox控件的实现,具有一定的参考价值,感兴趣... 目录引言一、基本属性二、常用方法2.1 构造函数 2.2 设置标题2.3 设置复选框模式2.4 是否

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分