在数据交互时,可能底层数据的上报频率较高,但上位机可能不想要这么高的显示频率,所以可以用个小玩意限制下频率,当然方法很多,我只是写个比较简单的方式,为了记录自己的代码生涯。
当然平常用定时器超时的信号也能做,只是不同的数据以不同频率显示用定时器就有点难受了。
代码:
void MainWindow::display(QByteArray ba)
{
static qint64 timestamp = 0;
qint64 tick = QDateTime::currentDateTime().currentMSecsSinceEpoch();
/* 25就是要限制的频率,25ms显示一次 */
if (tick - timestamp < 25) {
return;
}
timestamp = tick;
}