Qt 實現脈搏檢測 1 心跳曲線部分

2021-07-16 23:02:57 字數 2975 閱讀 1774

最新的想法就是寫乙個顯示脈搏的東西,主要就是通過串列埠讀取硬體(檢測心跳的)傳來的資料,在顯示一下。

先實現畫心跳曲線

如下圖

先來電乾貨,

首先,在這個**中,第一次用到了list這個東東

所以,關於list這個東東就得說道說道

上參考連線:

大神寫的很好,這裡貼出關於list的部分函式。

assign() 給list賦值 

back() 返回最後乙個元素 

begin() 返回指向第乙個元素的迭代器 

clear() 刪除所有元素 

empty() 如果list是空的則返回true 

end() 返回末尾的迭代器 

erase() 刪除乙個元素 

front() 返回第乙個元素 

get_allocator() 返回list的配置器 

insert() 插入乙個元素到list中 

max_size() 返回list能容納的最大元素數量 

merge() 合併兩個list 

pop_back() 刪除最後乙個元素 

pop_front() 刪除第乙個元素 

push_back() 在list的末尾新增乙個元素 

push_front() 在list的頭部新增乙個元素 

rbegin() 返回指向第乙個元素的逆向迭代器 

remove() 從list刪除元素 

remove_if() 按指定條件刪除元素 

rend() 指向list末尾的逆向迭代器 

resize() 改變list的大小 

reverse() 把list的元素倒轉 

size() 返回list中的元素個數 

sort() 給list排序 

splice() 合併兩個list 

swap() 交換兩個list 

unique() 刪除list中重複的元素

剩下的demo就需要到大神貼子下面去看了

單起乙個執行緒專門來獲取資料,現在資料**應該來之

1.串列埠

2.無線網路

3.藍芽

大致需要實現以上三種模式的資料獲取,目前沒有,還沒有搞到硬體,資料只能模擬。

#include "get_date.h"  

#include #include #include #include qtimer timer;

qserialport port;

get_date::get_date()

void get_date::run()

get_date::~get_date()

void get_date::timerout()

這部分了,就是執行緒中模擬獲取資料的部分,採到資料後通過訊號槽傳送給gui程序。

#include "palmus.h"  

#include "ui_palmus.h"

#include #include #include #include using namespace std;

typedef listlistint;

static listint listdate;

static listint::iterator i,j;

palmus::palmus(qwidget *parent) :

qwidget(parent),

ui(new ui::palmus)

palmus::~palmus()

void palmus::slot_get_date(int temp)

} static int temp1;

static int temp2;

void palmus::paintevent(qpaintevent *)

scale_x = 0;

scale_y = this->height();

while (scale_xwidth()))

//draw palmus

qpainter painter(this);

painter.setrenderhints(qpainter::antialiasing,true);

painter.setpen(qt::red);

int x = this->width();

i = listdate.begin();

temp1 = *i;

for(i=listdate.begin();i!=listdate.end();i=i.operator ++(1))

}

這部分就是gui住程序的函式了,主要還是等於過載了paintevent()函式

函式中第乙份是畫刻度,現在還在想真麼畫好看

第二部分是畫心跳曲線

//draw palmus  

qpainter painter(this);

painter.setrenderhints(qpainter::antialiasing,true);

painter.setpen(qt::red);

int x = this->width();

i = listdate.begin();

temp1 = *i;

for(i=listdate.begin();i!=listdate.end();i=i.operator ++(1))

心跳曲線部分**,其實主要就是畫線,每一段線連起來,就是曲線了,剩下的**在後面慢慢貼出來

Qt 實現脈搏檢測 1 心跳曲線部分

最新的想法就是寫乙個顯示脈搏的東西,主要就是通過串列埠讀取硬體 檢測心跳的 傳來的資料,在顯示一下。先實現畫心跳曲線 如下圖 先來電乾貨,首先,在這個 中,第一次用到了list這個東東 所以,關於list這個東東就得說道說道 上參考連線 大神寫的很好,這裡貼出關於list的部分函式。assign 給...

JAVA實現長連線 含心跳檢測 Demo

實現原理 通過新增相應的objectaction實現類,可以實現不同物件的響應 應答過程。心跳反映的 維持連線的訊息物件 心跳物件 public class keepalive implements serializable 客戶端的 public class client public stati...

QT學習 實現串列埠工具(1)

qt在被諾基亞放棄後,終於在最近幾天決定了出處,被芬蘭軟體公司digia收購了,qt.digia.com,希望以後能發展的更好。再不在弄點什麼學學,在公司還真沒什麼事做了,本來想把寫的微控制器程式 優化下,不過看著冗長的 不知道怎麼 入手,已經優化了一段時間,效果一般啊。還是做點別的,不然什麼事都不...