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

相关文章

C#实现WinForm控件焦点的获取与失去

《C#实现WinForm控件焦点的获取与失去》在一个数据输入表单中,当用户从一个文本框切换到另一个文本框时,需要准确地判断焦点的转移,以便进行数据验证、提示信息显示等操作,本文将探讨Winform控件... 目录前言获取焦点改变TabIndex属性值调用Focus方法失去焦点总结最后前言在一个数据输入表单

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

基于Qt实现系统主题感知功能

《基于Qt实现系统主题感知功能》在现代桌面应用程序开发中,系统主题感知是一项重要的功能,它使得应用程序能够根据用户的系统主题设置(如深色模式或浅色模式)自动调整其外观,Qt作为一个跨平台的C++图形用... 目录【正文开始】一、使用效果二、系统主题感知助手类(SystemThemeHelper)三、实现细节