在介绍内容之前,先说明一下开发环境,如下图:
Qt版本:Qt5.3.2;
Qt开发工具:Qt Creater 3.2.1;
Qt构建工具:Desktop Qt 5.3 MinGW 32bit;
Qt开发平台:Windows 7 64bit。
今天介绍QString的格式化部分的功能,之前的内容可以参考以下链接。
0022:Qt常用类 - QString(01,QString的编码方式和初始化)
0023:Qt常用类 - QString(02,增加)
0024:Qt常用类 - QString(03,删除)
0025:Qt常用类 - QString(04,修改)
0026:Qt常用类 - QString(05,查询)
0027:Qt常用类 - QString(06,遍历)
0028:Qt常用类 - QString(07,子字符串)
下面是格式化部分的示例代码。
char ch = -1;
uchar uch = 1;
short sh = -2;
ushort ush = 2;
int n = -3;
uint un = 3;
long l = -4;
ulong ul = 4;
qlonglong ql = -5;
qulonglong qul = 5;
float f = -6.0f;
double db = 7.0f;
char cch = 'a';
QChar qch('b');
QString str = "123";
QString strFormat = QString(
" ch = %1, uch = %2\n\
sh = %3, ush = %4\n\
n = %5, un = %6\n\
l = %7, ul = %8\n\
ql = %9, qul = %10\n\
f = %11, db = %12\n\
cch = %13, qch = %14\n\
str = %15").
arg((short)ch).arg((ushort)uch).
arg(sh).arg(ush).
arg(n).arg(un).
arg(l).arg(ul).
arg(ql).arg(qul).
arg(f).arg(db).
arg(cch).arg(qch).
arg(str);
qDebug("strFormat = \n%s", qPrintableU8(strFormat));
strFormat = QString(
" ch = 0x%1, uch = 0x%2\n\
sh = 0x%3, ush = 0x%4\n\
n = 0x%5, un = 0x%6\n\
l = 0x%7, ul = 0x%8\n\
ql = 0x%9, qul = 0x%10\n\
f = %11, db = %12\n\
cch = %13, qch = %14\n\
str = %15").
arg((short)ch, 8, STR_BASE(16), QChar('0')).arg((ushort)uch, 8, STR_BASE(16), QChar('0')).
arg(sh, 8, STR_BASE(16), QChar('0')).arg(ush, 8, STR_BASE(16), QChar('0')).
arg(n, 8, STR_BASE(16), QChar('0')).arg(un, 8, STR_BASE(16), QChar('0')).
arg(l, 8, STR_BASE(16), QChar('0')).arg(ul, 8, STR_BASE(16), QChar('0')).
arg(ql, 8, STR_BASE(16), QChar('0')).arg(qul, 8, STR_BASE(16), QChar('0')).
arg((double)f, 0, STR_AF('f'), STR_AP(6), QChar('0')).arg(db, 0, STR_AF('f'), STR_AP(15), QChar('0')).
arg(cch, 18, QChar(' ')).arg(qch, 8, QChar(' ')).
arg(str);
qDebug("strFormat = \n%s", qPrintableU8(strFormat));
strFormat = QString(
" ch = 0x%1, uch = 0x%2\n\
sh = 0x%3, ush = 0x%4\n\
n = 0x%5, un = 0x%6\n\
l = 0x%7, ul = 0x%8\n\
ql = 0x%9, qul = 0x%10\n\
f = %11, db = %12\n\
cch = %13, qch = %14\n\
str = %15").
arg((unsigned int)ch, 8, STR_BASE(16), QChar('0')).arg((ushort)uch, 8, STR_BASE(16), QChar('0')).
arg((unsigned int)sh, 8, STR_BASE(16), QChar('0')).arg(ush, 8, STR_BASE(16), QChar('0')).
arg((unsigned int)n, 8, STR_BASE(16), QChar('0')).arg(un, 8, STR_BASE(16), QChar('0')).
arg((unsigned int)l, 8, STR_BASE(16), QChar('0')).arg(ul, 8, STR_BASE(16), QChar('0')).
arg((unsigned int)ql, 8, STR_BASE(16), QChar('0')).arg(qul, 8, STR_BASE(16), QChar('0')).
arg((double)f, 0, STR_AF('f'), STR_AP(6), QChar('0')).arg(db, 0, STR_AF('f'), STR_AP(15), QChar('0')).
arg(cch, 18, QChar(' ')).arg(qch, 8, QChar(' ')).
arg(str);
qDebug("strFormat = \n%s", qPrintableU8(strFormat));
在学习过程中,可以将上述代码放到一个按钮的响应函数中,以调试方式运行,就可以在Qt Creater中的应用程序输出窗口看到输出结果了。