QString::arg的几种重载版本

为了适配多种数据类型,QString::arg有多个重载版本。

1、QString::arg(const QString &a, int fieldWidth = 0, QChar fillChar = QLatin1Char(' ')) 

参数2是最小宽度,不足此宽度则用参数三补全:

#define debug qDebug()<<
int main(int argc, char *argv[])
{
    debug QString("hi,my name is %1").arg(QString("张三"),10,QChar{'k'});
}

由于arg的重载版本太多,参数3要写清楚QChar类型。 

QString::arg的几种重载版本

如果参数2是负数,那么生成的替换文本是左对齐的:

QString::arg的几种重载版本

2、 QString::arg(qlonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' '))   (qlonglong 就是long long类型)

参数2、4同上,参数3是指定将整数转成字符串使用的进制。

#define debug qDebug()<<
int main(int argc, char *argv[])
{
    debug QString("我有 %1 元人民币。").arg(qlonglong{99999},13,10,QChar{'w'});
}

QString::arg的几种重载版本

16进制的:

QString::arg的几种重载版本

其他类型的整形、char的arg重载与此形式相似,也都有4个参数,第一个参数不同,后3个参数和用法是相同的。

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

参数2、参数5同上。

c/c++中的浮点数可以用科学计数法表示;超过有效位之后会四舍五入。参数3表示格式:

  • e:使用科学计数法,科学计数法符号使用e
  • E:使用科学计数法,科学计数法符号使用E
  • f:不使用科学计数法
  • g:使用e和f中简洁的那个
  • G:使用E和f中简洁的那个

参数4表示精度,即小数点后面几位小数。

4、QString::arg(const QString &a1, const QString &a2)

一个arg里有多个替换字符串。

QString::arg的几种重载版本

这种类型只适合字符串,换成其他类型就不行了:QString::arg的几种重载版本

上一篇:pytest 参数化


下一篇:Java并发编程之一张图理解ReentrantLock