QString参数中的参数不超过9个?如何处理

No more than 9 arguments in QString arg? How to deal with it?

本文关键字:参数 何处理 处理 不超过 9个 QString      更新时间:2023-10-16

我写了一个有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个args。。。我阅读了文档: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

看来这就是问题所在。有没有什么优雅的方法可以处理这个问题,或者我只能连接两个字符串?

您可以像这样链接.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);