Qt 从lineEdit ,获取字符为16进制,例输入fe 就是0x的 fe

Elcwds 2015-11-11 01:56:48
QString str = ui->lineEdit->text();//取到的内容为字符串,怎么样才能取fe为一个字节
能不能输入fe ,取内容后就为 16进制的fe.(1111 1110),而不是字符的码表中的f 编号 102 或是102的16进制= “66”
?????????
...全文
1368 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Elcwds 2015-11-12
  • 打赏
  • 举报
回复
引用 2楼我是你的主体 的回复:
谢谢大神,试过了。可以了
QString str = ui->LineEdit->text();
for (int ii=0; ii<str.count(); ii+=2)
{
QString strTmp = str.mid(ii,2); //< 注意如果str.count()为奇数,会数组越界
int nNum = strTmp.toInt(NULL, 16);
ui->tbHex->setText(QString::number(nNum));//用另一文本显示为整数,
}
Elcwds 2015-11-12
  • 打赏
  • 举报
回复
谢谢大神,试过了。可以了
w_x1210 2015-11-11
  • 打赏
  • 举报
回复
把字符串转换成16进制
int nNum = str.toInt(NULL, 16);
如果字符串中有N个16进制数 for (int ii=0; ii<str.count(); ii+=2) { QString strTmp = str.mid(ii,2); //< 注意如果str.count()为奇数,会数组越界 int nNum = strTmp.toInt(NULL, 16); }

21,438

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧