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

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+