Qt:QString 中的 arg 函数用法

1、Qstring QString::arg() 用字符串变量一次替换字符串中最小数值

    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"

2、QString QString::arg(qulonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const

        面函数的重载。

         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"

3、QString QString::arg(double a, int fieldWidth = 0, char format = 'g', int precision = -1, QChar fillChar = QLatin1Char(' ')) const

       参数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() 方法类似。

你可能感兴趣的:(Qt学习,qt,开发语言,c++)