QString i = "a"; // current file's number
QString total = "10"; // number of files to process
QString fileName = "unkown"; // current file's name
QString status = QString("Processing file %1 of %2: %3")
.arg(i).arg(total).arg(fileName);
最后 status 为:"Processing file a of 10: unkown"
面函数的重载。
fieldWidth 指定填充和填充字符 fillChar 的最小空间量。正值产生右对齐的文本;负值会产生左对齐的文本。
base 参数指定在将将整数 a 转换为字符串时使用的基数。基数必须在 2 和36 之间,8表示八进制,10表示十进制,16表示十六进制。
如果 fillChar 是 '0'(数字0,ASCII 码 48),则使用区域设置的0.对于负数,零填充可能出现在负号之前。
例如:
QString str;
str = QString("Decimal 63 is %1 in hexadecimal")
.arg(63, 0, 16);
// str == "Decimal 63 is 3f in hexadecimal"
QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
str = QString("%1 %L2 %L3")
.arg(12345)
.arg(12345)
.arg(12345, 0, 16);
// str == "12345 12,345 3039"
参数a按照指定的格式和精度进行格式化,具体请参见参数格式。
fieldWidth 指定填充和填充字符 fillChar 的最小空间量。正值产生右对齐的文本;负值会产生左对齐的文本。
例如:
double d = 12.34;
QString str = QString("delta: %1").arg(d, 0, 'E', 3);
// str == "delta: 1.234E+01"
'%'后面可以跟一个' L ',在这种情况下,序列将被替换为a的本地化表示。转换使用默认的区域设置,由QLocale::setDefault()设置。如果没有指定默认区域设置,则使用"C"区域设置。
如果filIChar是0'(数字0,ASCII 48),这个函数将使用locale的0来填充。对于负数,零填充可能会出现在负号之前。
和 toString() 方法类似。