找回密码
 立即注册
收起左侧

麻烦各位帮我看下面的程序,大概是什么意思,特别是QRegExp

5
回复
6106
查看
[复制链接]
累计签到:7 天
连续签到:1 天
来源: 2016-4-11 15:22:39 显示全部楼层 |阅读模式
3Qter豆
void MainWindow::readMycom(){    if(myCom->bytesAvailable()>8)    {        myCom->readAll();    }    if((myCom->bytesAvailable()==8)&&(myState==true))    {        QString temp=myCom->readAll();        QRegExp rxA("(A{3})");        int ret=rxA.indexIn(temp);        if(ret==0)        {           QRegExp rx("(?:-?\\d{1,4})");           rx.indexIn(temp);           QString str=rx.cap(0);           ui->textBrowser->insertPlainText(str+"mV\n");           ui->textBrowser->moveCursor(QTextCursor::End);           int value=str.toInt();           if(value>plot->getMaxYaxisValue(1))           {               plot->setMaxYaxisValue(value+10,1);           }           if(value<plot->getMaxYaxisValue(2))           {              plot->setMaxYaxisValue(value-10,2);           }           plot->UpPlotdate(value,0);        }        else if(ret>-1)        {            myCount=ret;            myState=false;        }        else if(ret==-1)        {            myCount=7;            myState=false;        }    }    if((myCom->bytesAvailable()==myCount)&&(myState==false))    {        QString temp=myCom->read(myCount);        myState=true;    }}

相关帖子

回复

使用道具 举报

累计签到:7 天
连续签到:1 天
2016-4-11 15:23:36 显示全部楼层
麻烦大家帮看下呀,拜托啦!!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:956 天
连续签到:1 天
2016-4-11 16:22:24 显示全部楼层
这是一个读串口的程序段,QRegExp是控制输出输入格式的
回复

使用道具 举报

累计签到:956 天
连续签到:1 天
2016-4-11 16:36:05 显示全部楼层
你去看看文档,里边介绍非常详细。。。QRegExp其实就是利用正则表达式来实现一些功能,例如字符串匹配
回复

使用道具 举报

累计签到:7 天
连续签到:1 天
2016-4-11 16:38:21 显示全部楼层
wdmxtk002 发表于 2016-4-11 16:22
这是一个读串口的程序段,QRegExp是控制输出输入格式的

我是刚接触QT,可以说没入门。 可以说下这里的QRegExp控制了什么格式么,这样我理解起来方便点。
回复

使用道具 举报

累计签到:956 天
连续签到:1 天
2016-4-11 16:59:20 显示全部楼层
就像上面QRegExp rxA("(A{3})");int ret=rxA.indexIn(temp);这段代码的意思就是在字符串temp里匹配“AAA”,假如temp是“AAABBBCCC”,就能匹配成功,返回值ret就是0,否则返回-1。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了