news 2026/4/28 13:44:07

基于 C++ 实现数字微流控生物芯片模拟界面

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 C++ 实现数字微流控生物芯片模拟界面

数字微流控生物芯片模拟界面

说明文档

1.使用方法

程序进入界面

可以看到左侧的工具栏,上部的菜单栏,左侧的网格线,右侧依次排列的是计时器,命令显示窗口,清洗功能选择按钮。

左侧工具栏从上之下依次为:

  1. 设置网格的基本宽高及 Input Output 位置
  2. 读入命令文档
  3. 开始连续播放画面
  4. 单步向后执行命令,每次点击时间加一
  5. 向前一步
  6. 重置时间及网格状态
  7. 选择声音是否播放
  8. 退出程序

以下简述程序正常运行的步骤

首先设置网格基本属性

注意设置 Input 时,每次添加一个 Input 位置需点击 Confirm 键来保存,设置完毕后点击 OK 确认。

读入命令文件

弹出文件选择窗口,选择文件即可。

选择后右侧显示命令。

普通执行

点击

单步执行或者点击

连续执行。

执行中画面

此时可以选择是否开启声音以及是否重置,点击上一步可回退执行。

当程序执行完所有命令后显示污染次数。

带清洗功能的执行

选择"加入清洗功能",显示清洗 Input 与 Output

此时只有"下一步"可用,点击可出现自动移动的清洗液滴(同心圆)。

清洗功能可以取消。

清洗过程中可以点击方块添加障碍,在下一次执行"下一步时"会自动避开此障碍。

2.设计说明

程序文件树:

其中主要有以下类:

class Kernel : public QObject//管理数据 { Q_OBJECT public: Cube CubeData[14][14];//格子的数据 int Width = 8; int Height = 8; QVector<Position> InputPositions; Position OutputPosition; QStringList Orders; int Time = -1;//时间 int Interval = 700; //间隔时间ms int KindNumber = 0;//液滴总数 bool Sound = true; bool Wash = false;//是否清洗状态 QVector<QString> ColorName; }; class Cube{//单个格子的数据 public: Position Other = Position(0, 0);//用于Split与Merge中间状态 int kind = -1;//now drop kind bool Expanding = false;//now ecllipse bool blocked = false;//是否是阻挡方块 bool Washing = false;//是否是清洁液滴 QVector<int> PolluteKinds;//Polluted Drop Kinds }; struct Position{//封装位置数据 public: int X; int Y; }; class PaintWidget : public QWidget//继承自QWidget的自定义类,加入数据管理与绘图功能 { Q_OBJECT public: explicit PaintWidget(QWidget *parent = nullptr); void paintEvent(QPaintEvent *);//绘图函数 Kernel * kernel = nullptr; QVector<Position> InputPositions_draw; Position OutputPosition_draw = Position(0,1); bool end = false;//是否结束 };

程序有两个 UI 窗口:一个主界面,一个用来设定基本属性的对话框。

数据管理与操作在 Kernel 类中实现,UI 界面类(MainWindow 类,NewDialog 类)中有指向 Kernel 的指针,用于实现 UI 界面与数据内核的分离。

操作事件一般会触发 UI 界面类的槽函数,进而调用 kernel 里对应的操作槽函数。

♻️ 资源

大小:1.57MB

➡️资源下载:https://download.csdn.net/download/s1t16/87404314

注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 10:56:50

Z-Image-Turbo_UI界面+浏览器访问,AI绘图如此简单

Z-Image-Turbo_UI界面浏览器访问&#xff0c;AI绘图如此简单 你是否还在为复杂的命令行操作、繁琐的配置文件和难以调试的环境依赖而烦恼&#xff1f;现在&#xff0c;这一切都已成为过去。Z-Image-Turbo_UI界面让AI图像生成变得像打开网页一样简单——只需启动服务&#xff0…

作者头像 李华
网站建设 2026/4/21 18:47:57

机器学习 - 学习路线

机器学习 - 学习路线 机器学习是当今最热门的技术领域之一&#xff0c;它让计算机能够从数据中学习并做出预测或决策。 对于初学者来说&#xff0c;面对海量的算法、数学理论和编程工具&#xff0c;很容易感到迷茫&#xff0c;不知从何入手。 本文将介绍从零基础到具备实践能…

作者头像 李华
网站建设 2026/4/18 8:02:40

麦橘超然镜像体验:界面直观,生成速度快,推荐新手

麦橘超然镜像体验&#xff1a;界面直观&#xff0c;生成速度快&#xff0c;推荐新手 1. 初识麦橘超然&#xff1a;专为本地绘图优化的AI图像生成工具 “麦橘超然 - Flux 离线图像生成控制台”是一款基于 DiffSynth-Studio 构建的本地化 Web 图像生成服务&#xff0c;集成了官…

作者头像 李华
网站建设 2026/4/25 7:22:19

测试开机脚本镜像实测报告,三种方法全解析

测试开机脚本镜像实测报告&#xff0c;三种方法全解析 在实际的AI应用部署和系统运维中&#xff0c;自动化是提升效率的关键。尤其是在使用定制化镜像时&#xff0c;我们常常希望某些脚本或服务能够在系统启动时自动运行&#xff0c;比如初始化环境、拉取模型、启动推理服务等…

作者头像 李华
网站建设 2026/4/23 14:30:24

java_ssm54大学生课堂考勤管理系统的设计与实现_idea项目源码

目录 具体实现截图大学生课堂考勤管理系统摘要 系统所用技术介绍写作提纲源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 具体实现截图 大学生课堂考勤管理系统摘要 该系统基于Java SSM&#xff08;SpringSpring MVCMyBatis&#xff…

作者头像 李华
网站建设 2026/4/23 14:20:06

为什么你的aiohttp并发卡在100请求?深度剖析连接池与限流机制

第一章&#xff1a;为什么你的aiohttp并发卡在100请求&#xff1f; 当你使用 aiohttp 构建高并发的异步 HTTP 客户端时&#xff0c;可能会发现并发请求数始终无法突破 100 的限制。即使你启动了上千个协程任务&#xff0c;实际同时进行的连接却只有约 100 个&#xff0c;其余请…

作者头像 李华