c语言编写温度监测界面,QT和C++实现显示温度数据界面

本文介绍如何使用QT框架创建一个实时电子温度计应用。通过继承和共有继承实现温度计类,利用QTimer进行定时数据读取和显示。使用信号槽机制将数据更新与图表、表格显示及音频报警功能关联起来,实现数据的动态更新和用户交互。最终,应用以图表和表格形式同时展示温度数据。
摘要由CSDN通过智能技术生成

确定需要的类,确定行为和属性。

面向过程,考虑数据流向。

将数据绘制出来

1、首先要确定使用的温度计类大概需要什么函数。

ea8143bb3664e70a03606d33fff91e3d.png

如上图所示是大概需要的属性和行为。在电子温度计类继承的时候要注意是共有继承。否则无法正常访问父类的信息。

b6df4c03f3c673f1869ccc410e4ab387.png

2、需要对值进行读取和显示。

不可能一直不断的读,所以用到定时器。为整个程序的运行分配时间。

QTimer *t1 = new QTimer();

// signals and slots .1 event creat 1 sig. slots deal sig

//link sig and slots

connect(t1,SIGNAL(timeout()),this,SLOT(makeTemp()));

t1->start(1000);

如上图所示,初始化对象,信号槽做映射,开启就OK了。

3、用图和表对数据进行显示

用图

9e91dafe08898e5660c02d0865de2a72.png

我们调用写好的库就可以了,主要还是要注意一下信号槽函数的使用

用表

61aae4a7e079b1e4a6b56ce49dad9a40.png

设计主图、描点、连线等。有点繁琐。

信号槽函数代码如下

在我看来这是QT最有特色的地方,通过信号槽函数,将函数的调用和信号的触发联系到一起。当然前文在读取硬件寄存器数值时,同样需要信号槽函数。

可以看到,我们将数据的读取,图和表的显示,音频报警,联系到一起

connect(timer,&QTimer::timeout,[t4,dash,player,this,passMinute]()mutable{

qDebug() << t4->showCurrentTemp();

dash->setValue(t4->showCurrentTemp());

if(passMinute != QTime::currentTime().minute())

{

dotSeries->clear();

connectLineSeries->clear();

passMinute = QTime::currentTime().minute();

}

connectLineSeries->append(QTime::currentTime().second(), t4->showCurrentTemp());

dotSeries->append(QTime::currentTime().second(), t4->showCurrentTemp());

if(t4->showCurrentTemp() > 70)

{

player->play();

}

});

最后做出来是这样的。

93a8b860711e441081d5d44c81051e93.jpg

左侧以图的形式显示温度,右侧以表格形式显示数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值