本文主要是介绍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窗体结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!