QT secsTo,toTIme_t()时间差计算(判断通信是否建立)

QT时间差计算的两种方法

#include <qdatetime.h>
#include <windows.h>

提供两种方法,直接贴出代码供参考,主要用到函数secsTo,toTIme_t():

QDateTime startTime = QDateTime::currentDateTime();
Sleep(5000);
QDateTime endTime = QDateTime::currentDateTime();
qint64 intervalTime = startTime.secsTo(endTime); //求时间差
qint64 intervalTimeMS = startTime.msecsTo(endTime);

qDebug() << intervalTime;  //时间相差秒数
qDebug() << intervalTimeMS; //时间相差毫秒数

//第二种方法
    qint64 intervalTime2 = endTime.toTime_t() - startTime.toTime_t();
    QString interval2 = tr("%1").arg(intervalTime2);
    qDebug() << interval2; //时间相差秒数

可通过时间差,判断通信是否建立

PART1:

connect(serial,&QSerialPort::readyRead,this,&MainWindow::serialRead);

PART2:

void MainWindow::serialRead()
{
    wirelessTime = QTime::currentTime;
}

PART3:

if(wirelessTime.msecsTo(currentTime) > 3000)
{
      wirelessConnected = false;
      //resetAuvSerialControl();
}else{
      wirelessConnected = true;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值