资源简介
动态心电图绘制,通过qt定时器,实现心电图从左往右进行绘制,到达坐标轴最大值后,再从左往右继续进行绘制。
增加:文章地址:https://blog.csdn.net/DoleH/article/details/86250510
增加:文章地址:https://blog.csdn.net/DoleH/article/details/86250510

代码片段和文件信息
#include “dynamicECG.h“
#include “ui_dynamicECG.h“
DynamicECG::DynamicECG(QWidget *parent)
: QWidget(parent) ui(new Ui::dynamicECG)
{
ui->setupUi(this);
init();
initEcgWaveLineChart();
}
DynamicECG::~DynamicECG()
{
delete ui;
}
void DynamicECG::init() {
originListIndex = 0;
}
void DynamicECG::oneTimeOutAction() {
if (originListIndex >= originListSize)
{
ecgWaveDrawTimer->stop();
}
else {
qint16 tempInt16 = originList.at(originListIndex).toInt();
//qDebug() << QString(“数据为:%1“).arg(tempInt16);
drawEcgWave(originListIndex tempInt16);
originListIndex++;
}
}
void DynamicECG::onShowPushButtonclick()
{
originList.clear();
QString origin = ui->inputTextEdit->toPlainText();
originList = origin.split(““);
originListSize = originList.count();
qDebug() << QString(“数据大小%1“).arg(originListSize);
ecgWaveDrawTimer = new QTimer(this);//定时任务
connect(ecgWaveDrawTimer SIGNAL(timeout()) this SLOT(oneTimeOutAction()));
ecgWaveDrawTimer->start(8);//5ms执行一次
}
//注意axis_x的输入,如果大于65535,
void DynamicECG::drawEcgWave(int axis_x qint16 data) {
int timesCounts = axis_x / 600;//查看数据是否超过了600
if (timesCounts > 0)//如果第一次界面绘制结束,之后存在了600个点
{
axis_x = axis_x - timesCounts * 600;
ecgPointBuffer[axis_x].setY(data);
}
else//如果是第一次界面
{
ecgPointBuffer.append(QPointF(axis_x data));
}
ecgSeries->replace(ecgPointBuffer);
}
//初始化ECG心电图折线图
void DynamicECG::initEcgWaveLineChart() {
//TODO 其实这里可以用默认的坐标轴
axisY_ECG = new QValueAxis();
axisX_ECG = new QValueAxis();
ecgSeries = new QLineSeries();//TODO 考虑改为平滑曲线
ecgWaveLineChart = new QChart();
//添加曲线到chart中
ecgWaveLineChart->addSeries(ecgSeries);
//设置坐标轴显示范围
axisY_ECG->setRange(-350 1200);
axisX_ECG->setRange(0 600);
axisX_ECG->setTickCount(30);
axisY_ECG->setTickCount(10);
//设置坐标轴的颜色,粗细和设置网格显示
axisX_ECG->setGridLinePen(QPen(Qt::red 1 Qt::DashDotDotLine Qt::SquareCap Qt::RoundJoin)); //网格样式
axisY_ECG->setGridLinePen(QPen(Qt::red 1 Qt::DashDotDotLine Qt::SquareCap Qt::RoundJoin));
axisX_ECG->setLinePen(QPen(Qt::red 1 Qt::DashDotDotLine Qt::SquareCap Qt::RoundJoin));//坐标轴样式
axisY_ECG->setLinePen(QPen(Qt::red 1 Qt::DashDotDotLine Qt::SquareCap Qt::RoundJoin));
axisY_ECG->setGridLineVisible(true);//显示线框
axisX_ECG->setGridLineVisible(true);
axisX_ECG->setLabelsVisible(false);//不显示具体数值
axisY_ECG->setLabelsVisible(false);
//把坐标轴添加到chart中,第二个参数是设置坐标轴的位置,
//只有四个选项,下方:Qt::AlignBottom,左边:Qt::AlignLeft,右边:Qt::AlignRight,上方:Qt::AlignTop
ecgWaveLineChart->addAxis(axisX_ECG Qt::AlignBottom);
ecgWaveLineChart->addAxis(axisY_ECG Qt::AlignLeft);
//把曲线关联到坐标轴
ecgSeries->attachAxis(axisX_ECG);
ecgSeries->attachAxis(axisY_ECG);
ecgSeries->setColor(QColor(Qt::black));//设置线的颜色
ecgSeries->setUseOpenGL(true);//openGL加速
setLineChartMargins(ecgWaveLineChart 2);//设置折线图边距
ecgWaveLineChart->legend()->hide();//不显示注释
ui->ecg
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1100 2019-01-15 20:54 dynamic_ecg_wave.sln
目录 0 2019-01-15 21:00 dynamic_ecg_wave\
文件 8623 2019-01-12 21:19 dynamic_ecg_wave\dynamic_ecg_wave.vcxproj
文件 1983 2019-01-12 21:16 dynamic_ecg_wave\dynamic_ecg_wave.vcxproj.filters
文件 637 2019-01-15 20:56 dynamic_ecg_wave\dynamic_ecg_wave.vcxproj.user
文件 3539 2019-01-15 21:00 dynamic_ecg_wave\dynamicECG.cpp
文件 843 2019-01-12 21:16 dynamic_ecg_wave\dynamicECG.h
文件 24148 2019-01-12 21:22 dynamic_ecg_wave\dynamicECG.pro.user
文件 2292 2019-01-12 21:20 dynamic_ecg_wave\dynamicECG.ui
目录 0 2019-01-12 21:16 dynamic_ecg_wave\GeneratedFiles\
目录 0 2019-01-12 21:16 dynamic_ecg_wave\GeneratedFiles\Debug\
文件 3727 2019-01-12 21:10 dynamic_ecg_wave\GeneratedFiles\Debug\moc_data_process.cpp
文件 3704 2019-01-12 21:19 dynamic_ecg_wave\GeneratedFiles\Debug\moc_dynamicECG.cpp
文件 3724 2019-01-12 21:14 dynamic_ecg_wave\GeneratedFiles\Debug\moc_ShowEcgWave.cpp
文件 1427 2019-01-12 21:06 dynamic_ecg_wave\GeneratedFiles\qrc_data_process.cpp
文件 1421 2019-01-12 21:19 dynamic_ecg_wave\GeneratedFiles\qrc_ShowEcgWave.cpp
文件 3536 2019-01-12 21:06 dynamic_ecg_wave\GeneratedFiles\ui_data_process.h
文件 3379 2019-01-12 21:22 dynamic_ecg_wave\GeneratedFiles\ui_dynamicECG.h
文件 3385 2019-01-12 21:15 dynamic_ecg_wave\GeneratedFiles\ui_ShowEcgWave.h
文件 179 2019-01-12 21:17 dynamic_ecg_wave\main.cpp
目录 0 2019-01-11 16:45 dynamic_ecg_wave\Resources\
文件 72 2019-01-11 16:45 dynamic_ecg_wave\ShowEcgWave.qrc
目录 0 2019-01-12 21:04 dynamic_ecg_wave\x64\
目录 0 2019-01-15 20:56 dynamic_ecg_wave\x64\Debug\
文件 429 2019-01-12 21:22 dynamic_ecg_wave\x64\Debug\data_process.log
文件 476255 2019-01-12 21:10 dynamic_ecg_wave\x64\Debug\data_process.obj
目录 0 2019-01-12 21:17 dynamic_ecg_wave\x64\Debug\data_process.tlog\
文件 23092 2019-01-12 21:16 dynamic_ecg_wave\x64\Debug\data_process.tlog\CL.command.1.tlog
文件 971962 2019-01-12 21:16 dynamic_ecg_wave\x64\Debug\data_process.tlog\CL.read.1.tlog
文件 11950 2019-01-12 21:16 dynamic_ecg_wave\x64\Debug\data_process.tlog\CL.write.1.tlog
文件 223 2019-01-12 21:17 dynamic_ecg_wave\x64\Debug\data_process.tlog\data_process.lastbuildstate
............此处省略45个文件信息
相关资源
- 酒店管理系统基于Qt Creator5)
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- QT,JPEG解码源代码(已完成)
- Qt 播放音频文件
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- Qt软件开发 完整项目代码
- MQTT_3.1protocol_Specific中文版
- 在QT中使用RTP进行视频的采集和传输
- Mini6410 Qt4和Qtopia编程开发指南
- Qt实现Code39条形码
- qt_ffmpeg_mp4_export_and_import.zip
- QT5.5入门与项目实战
- Huffman Compress 霍夫曼编码 压缩 解压缩
评论
共有 条评论