Qt QString的arg()方法的使用

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()//用字符串变量参数依次替代字符串中最小数值

 

 

 

Cpp代码   收藏代码
  1. QString i = "iTest";           // current file's number  
  2. QString total = "totalTest";       // number of files to process  
  3. QString fileName = "fileNameTest";    // current file's name  
  4.   
  5. QString status = QString("Processing file %1 of %2: %3")  
  6.                 .arg(i).arg(total).arg(fileName);  
  7.  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表示进制,

 

Cpp代码   收藏代码
  1. QString str;  
  2. str = QString("Decimal 63 is %1 in hexadecimal")  
  3.         .arg(63, 0, 16);  
  4. // str == "Decimal 63 is 3f in hexadecimal"  
  5.   
  6. QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));  
  7. str = QString("%1 %L2 %L3")  
  8.         .arg(12345)  
  9.         .arg(12345)  
  10.         .arg(12345, 0, 16);  
  11. // str == "12345 12,345 3039"  
  12. //16进制显示,就忽略%L3的L  
 

http://qimo601.iteye.com/blog/1420750

猜你喜欢

转载自blog.csdn.net/zxl_1996/article/details/79564013