QT中数组转换为QString的问题。

top_fen1 2011-12-03 08:08:37
我要实现下面这种效果 :
比如:
我的一个数组里面。。
char test[2];
test[0] = 0xff;
test[1] = 0x11;

问题来了。。
我想在lineEdit里显示 a = 0xff;b = 0x11; (这数不是确定 的。)
我的做法是这样的。。
先将test转换成QString
QString ab;
QString str = QString(test);
ab="a="+tem.mid(2,2)+"b="+tem.mid(4,2);
lineEdit -> setText(ab);//这个的结果导致在界面上显示 a = (ASCII码)b = (ASCII码)...这不是我想要的结果 。。。
那位大侠提点下。。在线等 。


...全文
2282 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gcn_3 2011-12-04
  • 打赏
  • 举报
回复
char buf[50];
snprintf(buf, 50, "a = 0x%x;b = 0x%x", test[0], test[1]);
「已注销」 2011-12-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 top_fen1 的回复:]

toHex()在QT3里面没有这个接口。。。。
[/Quote]
itoa,使用十六进制,剩下的知道怎么做了吧?
/* itoa example */
#include <stdio.h>
#include <stdlib.h>

int main ()
{
int i;
char buffer [33];
printf ("Enter a number: ");
scanf ("%d",&i);
itoa (i,buffer,10);
printf ("decimal: %s\n",buffer);
itoa (i,buffer,16);
printf ("hexadecimal: %s\n",buffer);
itoa (i,buffer,2);
printf ("binary: %s\n",buffer);
return 0;
}
念茜 2011-12-04
  • 打赏
  • 举报
回复

char str1[5];
itoa(test[0],str1,16));
char str2[5];
itoa(test[1],str2,16));

lineEdit -> setText("a="+QString(str1)+"b="+QString(str2));


试试这样写行吗
top_fen1 2011-12-03
  • 打赏
  • 举报
回复
toHex()在QT3里面没有这个接口。。。。
刀刀亮 2011-12-03
  • 打赏
  • 举报
回复

char test[2];
test[0] = 0xff;
test[1] = 0x11;
QByteArray temp(test,2);
ui->lineEdit->setText(temp.toHex());


楼主 试试这样子 我试了一下 可以……
top_fen1 2011-12-03
  • 打赏
  • 举报
回复
哪位大侠可以帮下解决 。。
top_fen1 2011-12-03
  • 打赏
  • 举报
回复
不好意思 。错了。。是ab="a="+str.mid(2,2)+"b="+str.mid(4,2);
刀刀亮 2011-12-03
  • 打赏
  • 举报
回复
楼主 你的tem是什么?

16,815

社区成员

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

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