首页| 论坛| 消息

标题:QT4显示十六进制问题
作者:x_y_x
日期:2011-12-27 21:16
内容:

我想把读到的数据转换成十六进制显示在控件中,用QString类如何控制显示的位数?
比如用QString::number()只显示a,不能显示成0a


#1 [roywillow 12-27 21:47]
QString::number()确实是显示为a而不是0a吧……
想更精确的控制请参考arg()
#2 [ninsun 12-28 09:36]
QByteArray有个这个方法……
QByteArray QByteArray::toHex ()
不知道是否能满足你的需求……
#3 [xiaowu311 12-28 16:45]
QString str= QString("Ox%1").arg(d,2,16);
d为你要测试的变量
#4 回 3楼(xiaowu311) 的帖子 [x_y_x 12-28 17:16]
这个方法倒是可以显示两位,不过a前面不是0,而是个方框。。这是什么情况??
#5 [xiaowu311 12-28 17:18]
#include
#include
using namespace std;
int main(int argc,char * argv[])
{
int a = 0;
int b = 1;
int c = 17;
int d = 257;
// const int MAX_HEX_LENGTH = 16;
// charHexstr;
// memset(Hexstr,0,MAX_HEX_LENGTH);
// sprintf(Hexstr,"0x%02x",d);
QString str= QString("Ox%1").arg(d,2,16);
cout

<< 1 2 >> (1/2)

回复 发表
主题 版块