新浪微博
腾讯微博
会员列表
统计排行
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
标签排行
帮助
下拉
用户名
电子邮箱
用户名
密 码
记住登录
登录
找回密码
注册
快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
首页
论坛
Qt下载
作品展
群组
个人中心
捐赠、管理与开发
邮件订阅
帖子
文章
日志
用户
版块
群组
帖子
搜索
QTCN开发网
>
Qt基础编程
>
Qt串口通信接收的数据怎么分开传给不同lineeidt显示?
发帖
回复
返回列表
新帖
9444
阅读
11
回复
[提问]
Qt串口通信接收的数据怎么分开传给不同lineeidt显示?
[复制链接]
上一主题
下一主题
离线
kingqb
UID:147130
注册时间
2013-11-04
最后登录
2014-10-22
在线时间
10小时
发帖
6
搜Ta的帖子
精华
0
金钱
165
威望
16
贡献值
0
好评度
6
访问TA的空间
加好友
用道具
新手上路
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
加关注
发消息
只看楼主
倒序阅读
楼主
发表于: 2013-11-06
在QT串口通信中,比如
QByteArray
temp
=
myCom
->readAll();中temp的内容为12 回车符 13 回车符 14回车符,怎样把它区分出来,将12、13、14分别传给个lineedit1、lineedti2、lineedit3显示?不知道有什么好方法能分离它们,求指导。
共
条评分
回复
举报
分享到
淘江湖
新浪
QQ微博
QQ空间
开心
人人
豆瓣
网易微博
百度
鲜果
白社会
飞信
离线
tompsontan
UID:112580
注册时间
2011-02-27
最后登录
2021-12-23
在线时间
281小时
发帖
197
搜Ta的帖子
精华
0
金钱
2475
威望
210
贡献值
0
好评度
200
访问TA的空间
加好友
用道具
侠客
加关注
发消息
只看该作者
1楼
发表于: 2013-11-06
回 楼主(kingqb) 的帖子
可以考虑用正则表达式
共
条评分
看淡得失
回复
举报
离线
tompsontan
UID:112580
注册时间
2011-02-27
最后登录
2021-12-23
在线时间
281小时
发帖
197
搜Ta的帖子
精华
0
金钱
2475
威望
210
贡献值
0
好评度
200
访问TA的空间
加好友
用道具
侠客
加关注
发消息
只看该作者
2楼
发表于: 2013-11-06
回 楼主(kingqb) 的帖子
先转为QString,然后用函数split(QRegExp("\\s+"));
共
条评分
看淡得失
回复
举报
离线
kingqb
UID:147130
注册时间
2013-11-04
最后登录
2014-10-22
在线时间
10小时
发帖
6
搜Ta的帖子
精华
0
金钱
165
威望
16
贡献值
0
好评度
6
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
3楼
发表于: 2013-11-06
嗯,谢谢,这个方法可以,但是又卡在把list:["12","13","14"]中的数字分别给lineedit。
共
条评分
回复
举报
离线
kingqb
UID:147130
注册时间
2013-11-04
最后登录
2014-10-22
在线时间
10小时
发帖
6
搜Ta的帖子
精华
0
金钱
165
威望
16
贡献值
0
好评度
6
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
4楼
发表于: 2013-11-06
回 2楼(tompsontan) 的帖子
嗯,谢谢,这个方法可以,但是又卡在把list:["12","13","14"]中的数字分别给lineedit。
共
条评分
回复
举报
离线
tompsontan
UID:112580
注册时间
2011-02-27
最后登录
2021-12-23
在线时间
281小时
发帖
197
搜Ta的帖子
精华
0
金钱
2475
威望
210
贡献值
0
好评度
200
访问TA的空间
加好友
用道具
侠客
加关注
发消息
只看该作者
5楼
发表于: 2013-11-06
回 4楼(kingqb) 的帖子
lineEdit1->setText(list[0]);
lineEdit2->setText(list[1]);
lineEdit3->setText(list[2]);
共
条评分
看淡得失
回复
举报
离线
kingqb
UID:147130
注册时间
2013-11-04
最后登录
2014-10-22
在线时间
10小时
发帖
6
搜Ta的帖子
精华
0
金钱
165
威望
16
贡献值
0
好评度
6
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
6楼
发表于: 2013-11-06
回 5楼(tompsontan) 的帖子
这种方法和list.at(0)都出现了ASSERT failure in QList<T>::at: "index out of range", file c:\Qt\4.7.3\include/QtCore/../../src/corelib/tools/qlist.h, line 456这个错误,软件出现Runtime error!的错误,但是值能显示在lineedit上。
共
条评分
回复
举报
离线
dbzhang800
UID:7394
注册时间
2006-06-03
最后登录
2024-05-29
在线时间
9894小时
发帖
5580
搜Ta的帖子
精华
2
金钱
56167
威望
5627
贡献值
20
好评度
5629
访问TA的空间
加好友
用道具
论坛版主
加关注
发消息
只看该作者
7楼
发表于: 2013-11-06
问题出在你的串口操作上,你不能保证每次都能接受到有效数据,也不能保证每次都是 3个数据。
一般来说,你需要定义你自己的通讯协议(如果收发都是你写的东西),靠协议来保证数据的完整性。
共
条评分
回复
举报
离线
tompsontan
UID:112580
注册时间
2011-02-27
最后登录
2021-12-23
在线时间
281小时
发帖
197
搜Ta的帖子
精华
0
金钱
2475
威望
210
贡献值
0
好评度
200
访问TA的空间
加好友
用道具
侠客
加关注
发消息
只看该作者
8楼
发表于: 2013-11-06
回 6楼(kingqb) 的帖子
确实是,通讯协议你要先确定
共
条评分
看淡得失
回复
举报
离线
kingqb
UID:147130
注册时间
2013-11-04
最后登录
2014-10-22
在线时间
10小时
发帖
6
搜Ta的帖子
精华
0
金钱
165
威望
16
贡献值
0
好评度
6
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
9楼
发表于: 2013-11-06
回 7楼(dbzhang800) 的帖子
void MainWindow::readMyCom()
{
QStringList list;
QByteArray temp = myCom ->readAll();
QString str(temp);
list = str.split(QRegExp("\\s+"));
ui->lineEdit->setText(list.at(20));
ui->textBrowser_2->insertHtml(str);
ui->textBrowser->insertHtml(QString(temp));
ui->textBrowser->moveCursor(QTextCursor::End);
} 嗯,谢谢,我再试试,但每次我从下位机读出来的数据在textbrowser上的都一样,应该不是数据丢失和无效。
共
条评分
回复
举报
离线
dbzhang800
UID:7394
注册时间
2006-06-03
最后登录
2024-05-29
在线时间
9894小时
发帖
5580
搜Ta的帖子
精华
2
金钱
56167
威望
5627
贡献值
20
好评度
5629
访问TA的空间
加好友
用道具
论坛版主
加关注
发消息
只看该作者
10楼
发表于: 2013-11-06
不是说丢失,是说你的一条命令可能需要几次read来能读全,也可能你一次读了好几条命令。你需要通讯协议来控制这些东西。而不是依赖于一个假定:每次读取一条命令。
共
条评分
回复
举报
离线
kingqb
UID:147130
注册时间
2013-11-04
最后登录
2014-10-22
在线时间
10小时
发帖
6
搜Ta的帖子
精华
0
金钱
165
威望
16
贡献值
0
好评度
6
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
11楼
发表于: 2013-11-06
回 10楼(dbzhang800) 的帖子
嗯,好像可以了。我在readMyCom加了下面的判断:
if(list.size()==3)
{
ui->lineEdit1->setText(list[0]);
ui->lineEdit2->setText(list[1]);
ui->lineEdit3->setText(list[2]);
},结果可以运行正常也没有错误,但不知道为什么会这样,没有判断就不行。
共
条评分
回复
举报
发帖
回复
返回列表
http://www.qtcn.org/bbs
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问
快速回复
限100 字节
您目前还是游客,请
登录
或
注册
进入高级模式
文字颜色
发 布
回复后跳转到最后一页
上一个
下一个
关闭
补充发布信息
验证码:
发 布
隐藏
快速跳转
站务及资讯
网站公告
新闻资讯
Qt官方发布
网站管理
Qt应用及资源
Qt 作品展
Qt代码秀
Qt应用版
Qt技术讨论区
Qt安装与发布
Qt中文处理
Qt基础编程
Qt QML开发
Qt嵌入式开发
Qt移动平台开发
其它技术开发讨论区
Qt图书专区
《C++ GUI Qt 4编程》(第2版)专栏
《Qt高级编程》专栏
《零基础学Qt4编程》专栏
《Qt设计模式》(第2版) 图书专栏
Python Qt GUI快速编程
Qt项目开发区
天池项目
Qt开放平台开发库
机械CAD
扇贝词典
非活跃项目区
社区中心
帖子回收站(Trash)
招聘、求职、供求、广告等
休闲娱乐
关闭
关闭
选中
1
篇
全选