1.周期发送数据功能
周期发送功能:选中周期发送开关,软件以下图 2 所示的周期,将数据周期循环发送。

2. 功能实现
step1:需创建一个定时器来实现,mainwindow.h 函数中定义定时器对象
//周期发送定时器,和多行的循环发送共用
QTimer *PriecSendTimer;step2:在 mainwindow.cpp 的构造函数中创建定时器,并关联超时函数
//创建周期发送、时间显示、延时接收定时器,并初始化
PriecSendTimer = new QTimer;
PriecSendTimer->setInterval(1000);//默认周期1000ms
//定时器槽关联,关联至发送按钮槽函数,即定时到来时,自动发送数据
connect(PriecSendTimer,&QTimer::timeout,this,[=](){on_pushButtonSend_clicked();});如上代码所示,将定时器超时函数关联到了“发送”按钮槽函数,相当于定时到达时,按了一下“发送”按钮,而按发送按钮会完成串口数据的发送。因此,我们只需要在选中“周期发送”的时候,重新设置发送周期和启动定时器即可。
step3:选中“周期发送”槽函数,选中 stateChanged(int)

step4:“周期发送”槽函数代码编辑
/***********************************************************
*周期发送
* 1.未选中状态下,关闭周期发送定时器,使能周期输入文本框
* 2.选中状态,获取周期,并启动周期发送定时器,失能周期输入文本框
***********************************************************/
void MainWindow::on_checkBoxPeriodicSend_stateChanged(int arg1)
{
if(arg1 == false)//未选中
{
PriecSendTimer->stop();//关闭定时器
ui->lineEditTime->setEnabled(true);//使能周期输入文本框
}
else //选中,开始周期发送
{
PriecSendTimer->start(ui->lineEditTime->text().toInt());//启动周期发送定时器
ui->lineEditTime->setEnabled(false);//失能周期输入文本框
}
}3.小结
完成周期发送功能!
所属系列
从当前文章继续阅读它所在合集中的前后内容。
QT5串口调试助手RYCOM 第 6 / 14 篇
查看合集 手把手教你设计基于Qt5的串口调试助手,只需创建一个项目,一套代码,可实现跨越windows、linux、MacOS三大操作系统桌面应用软件。
相关文章
优先推荐同专题、同标签和同作者内容,补足热门文章。
评论 0
登录 后参与评论
评论
成为第一个评论的人