Qt QString的arg()方法的使用,英文太差了,帮助文档没看懂,百度一下,有需要的朋友可以参考下。
(下面两种方法是比较常用的)
1、QString的arg()方法用于填充字符串中的%1,%2...为给定的参数,如
QString m = tr("%1:%2:%3").arg("12").arg("60").arg("60"); // m = "12:60:60:
2、它还有另外一种重载方法:
QString QString::arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char( ' ' )) const
这个方法用于填充字符串中的%1,%2...为给定格式的整形数字,其中第一个参数是要填充的数字,第二个参数为最小宽度,第二个参数为进制,第四个参数为当原始数字长度不足最小宽度时用于填充的字符。
如:
// text = "00123:00456"
QString text = QString("%1:%2").arg(123, 5, 10, QChar('0')).arg(456, 5, 10, QChar('0'));
参考1:http://www.th7.cn/Program/cp/201508/539912.shtml
http://blog.csdn.net/fighting_youngman/article/details/70611052
1、QString::arg()//用字符串变量参数依次替代字符串中最小数值
- QString i = "iTest"; // current file's number
- QString total = "totalTest"; // number of files to process
- QString fileName = "fileNameTest"; // current file's name
- QString status = QString("Processing file %1 of %2: %3")
- .arg(i).arg(total).arg(fileName);
- style="background-color: #ffffff;"> qDebug() << status ;</span>
结果就是:"Processing file iTest of totalTest: fileNameTest"
First, arg(i) replaces %1. Then arg(total) replaces %2. Finally, arg(fileName) replaces %3.
2、QString::arg ( int a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) ) const
16进制输出:fieldWidth表示字符宽度,base表示进制,
- 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"
- //16进制显示,就忽略%L3的L
http://qimo601.iteye.com/blog/1420750