我知道tr()
用于语言翻译但"%1"
在这里做了什么?
.arg()
在下面的代码中的用途是什么?
tmpItem= new QTableWidgetItem(tr("%1").arg(query.value(0).toString()));
答案 0 :(得分:1)
由于tr
实际上是一个返回QObject::tr
的{{1}}方法,QString
实际上是arg
方法。因此,您正在查看QString::arg
格式系统,并且每个QString
都是一个占位符,可以替换为传递给各自%n
的值。 E.g:
arg
答案 1 :(得分:0)
它就像一个花哨的sprintf
。
您可以使用QString
(tr()
返回)执行此类格式设置。
int points = 50;
int total = 100;
QString("I got %1 of %2 points.").arg( points ).arg( total );
转向"I got 50 of 100 points"
。现在,如果你的运行时值的转换在那里有任何意义,你的代码就会引起争议。