> # ♻️ 资源
> **大小:** 1.57MB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100010580**](https://www.yuque.com/sxbn/ks/100010580)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/87404314**](https://download.csdn.net/download/s1t16/87404314)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![qrcode_for_gh_d52056803b9a_344.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/2469055/1692147256036-49ec7e0c-5434-4963-b805-47e7295c9cbc.jpeg#averageHue=%23a3a3a3&clientId=u8fb96484-770e-4&from=paste&height=140&id=u237e511a&originHeight=344&originWidth=344&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=8270&status=done&style=none&taskId=ud96bf5f7-fe85-4848-b9c2-82251181297&title=&width=140.1999969482422)
# 数字微流控生物芯片模拟界面
## 说明文档
### 1.使用方法
程序进入界面
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234728392-c50403f5-7daa-43af-970d-03286f19924c.png#averageHue=%23ececec&id=dfFGk&originHeight=446&originWidth=761&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
可以看到左侧的工具栏,上部的菜单栏,左侧的网格线,右侧依次排列的是计时器,命令显示窗口,清洗功能选择按钮。
左侧工具栏从上之下依次为:
1. 设置网格的基本宽高及 Input Output 位置
2. 读入命令文档
3. 开始连续播放画面
4. 单步向后执行命令,每次点击时间加一
5. 向前一步
6. 重置时间及网格状态
7. 选择声音是否播放
8. 退出程序
以下简述程序正常运行的步骤
#### 首先设置网格基本属性
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234728465-7a8fb8f6-58a4-4e73-a307-7abdce5957b0.png#averageHue=%23e8e8e8&id=dZggU&originHeight=774&originWidth=686&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
注意设置 Input 时,每次添加一个 Input 位置需点击 Confirm 键来保存,设置完毕后点击 OK 确认。
#### 读入命令文件
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234728534-2208f045-0b22-402e-87c5-238bf50de80e.png#averageHue=%23f8f8f8&id=tE0qL&originHeight=406&originWidth=779&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
弹出文件选择窗口,选择文件即可。
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234728598-4b38b6cc-249e-4789-98d7-43b559b9d2f5.png#averageHue=%23eae9e9&id=wqLXP&originHeight=451&originWidth=720&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
选择后右侧显示命令。
#### 普通执行
点击![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234728708-1a052a17-68e5-47d6-9f14-842e4587bdd0.png#averageHue=%23bebebd&id=ghD32&originHeight=104&originWidth=87&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)单步执行或者点击![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234728787-43d6cae4-c0a4-4497-8706-9ce87e437a34.png#averageHue=%23b9b9b9&id=i6c6Y&originHeight=103&originWidth=88&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)连续执行。
执行中画面
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234728854-27254a28-2270-4d05-aeed-37a1fccd0cb8.png#averageHue=%23e7e5e3&id=c1Zil&originHeight=439&originWidth=754&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
此时可以选择是否开启声音以及是否重置,点击上一步可回退执行。
当程序执行完所有命令后显示污染次数。
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234728934-d3b64caa-ef76-4c2c-ad7e-a6b235d8545c.png#averageHue=%23e9e9e8&id=NmAPN&originHeight=446&originWidth=707&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
#### 带清洗功能的执行
选择"加入清洗功能",显示清洗 Input 与 Output
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234729001-9e0a36a4-f49e-4c52-a70d-0568ef3f7eac.png#averageHue=%23eae8e8&id=HTFLH&originHeight=444&originWidth=682&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
此时只有"下一步"可用,点击可出现自动移动的清洗液滴(同心圆)。
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234729063-4b3e4495-4b8c-49db-9954-f6ff9c7099e5.png#averageHue=%23e8e6e6&id=jbzbi&originHeight=424&originWidth=669&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
清洗功能可以取消。
清洗过程中可以点击方块添加障碍,在下一次执行"下一步时"会自动避开此障碍。
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234729131-b7b80f2c-d354-4996-a099-6b9d91c48d4b.png#averageHue=%23e4e4e4&id=X1s2g&originHeight=433&originWidth=669&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
### 2.设计说明
程序文件树:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713234729207-52bc6ec1-3c90-4ec5-9a44-3ac004426dfd.png#averageHue=%23f2f2f2&id=E6kHH&originHeight=537&originWidth=347&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
其中主要有以下类:
```c
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 里对应的操作槽函数。
没有合适的资源?快使用搜索试试~ 我知道了~
基于 C++ 实现数字微流控生物芯片模拟界面【100010580】
共37个文件
svg:8个
txt:6个
cpp:5个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 88 浏览量
2023-01-30
15:19:01
上传
评论
收藏 1.58MB ZIP 举报
温馨提示
详情介绍:https://www.yuque.com/sxbn/ks/100010580 程序有两个 UI 窗口:一个主界面,一个用来设定基本属性的对话框。数据管理与操作在 Kernel 类中实现,UI 界面类(MainWindow 类,NewDialog 类)中有指向 Kernel 的指针,用于实现 UI 界面与数据内核的分离。操作事件一般会触发 UI 界面类的槽函数,进而调用 kernel 里对应的操作槽函数。
资源推荐
资源详情
资源评论
收起资源包目录
100010580-基于 C++ 实现数字微流控生物芯片模拟界面.zip (37个子文件)
szwlmn
Code
Sound
Move.wav 8KB
Merge.wav 26KB
1.wav 14KB
2.wav 35KB
newdialog.ui 12KB
mainwindow.h 1000B
kernel.h 2KB
mainwindow.cpp 9KB
img.qrc 554B
main.cpp 172B
mainwindow.ui 13KB
newdialog.cpp 875B
paintwidget.h 554B
paintwidget.cpp 6KB
DFMB.pro 1KB
kernel.cpp 15KB
icon
sound.svg 1KB
img.qrc 36B
right-circle.svg 794B
poweroff.svg 1KB
setting.svg 2KB
play-circle.svg 767B
reload.svg 1KB
left-circle.svg 792B
plus-circle.svg 793B
Input
testcasewash.txt 340B
untitled 17B
testcase0.txt 106B
testcase2.txt 482B
testcase3.txt 764B
testcaseerror.txt 320B
testcase1.txt 174B
DFMB.pro.user 24KB
newdialog.h 732B
LICENSE 1KB
第一周大作业说明文档.pdf 2.06MB
README.md 7KB
共 37 条
- 1
资源评论
神仙别闹
- 粉丝: 2709
- 资源: 7668
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功