QString arg 中的参数不超过 9 个?如何处理?
No more than 9 arguments in QString arg? How to deal with it?
我写了一个超过9个参数的长QString,我只是这样使用它:
QString html = QObject::tr(
"%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ...").arg(a, b, c, d, e, f, g, h, i, j);
但是 QtCreator 产生错误,参数不能超过 9 个...我阅读了文档:http://doc.qt.io/qt-5/qstring.html,其中有一个 arg
函数定义:
QString arg(const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5, const QString & a6, const QString & a7, const QString & a8, const QString & a9) const
看来这就是问题所在。有什么优雅的方法可以处理这个问题,或者我只能连接 2 个字符串?
您可以像这样链接 .arg()
个调用,每个调用最多包含 9 个参数:
QObject::tr("%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ...")
.arg(a, b, c)
.arg(d)
.arg(e, f, g, h)
.arg(i, j);
我写了一个超过9个参数的长QString,我只是这样使用它:
QString html = QObject::tr(
"%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ...").arg(a, b, c, d, e, f, g, h, i, j);
但是 QtCreator 产生错误,参数不能超过 9 个...我阅读了文档:http://doc.qt.io/qt-5/qstring.html,其中有一个 arg
函数定义:
QString arg(const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5, const QString & a6, const QString & a7, const QString & a8, const QString & a9) const
看来这就是问题所在。有什么优雅的方法可以处理这个问题,或者我只能连接 2 个字符串?
您可以像这样链接 .arg()
个调用,每个调用最多包含 9 个参数:
QObject::tr("%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ...")
.arg(a, b, c)
.arg(d)
.arg(e, f, g, h)
.arg(i, j);