Qt QString::arg()在QML中的等价性是什么

Qt QString::arg()在QML中的等价性是什么,qt,qml,qstring,Qt,Qml,Qstring,我想知道如何在QML中有一个字符串,它将被一些参数占用?Qt中的某些内容如下: QString str("%1 %2"); str = str.arg("Number").arg(12);//str = "Number 12" 您可以使用jQuery插件来实现这一点: 在这个例子中,参数是完全不必要的。在JS中,我们有简单的字符串连接,它也支持中间的数字,所以您可以通过简单的 var str = 'Number' + ' ' + 12 如果您确实需要非文字字符串中的参数,您可以将%1替换为

我想知道如何在QML中有一个字符串,它将被一些参数占用?Qt中的某些内容如下:

QString str("%1 %2");
str = str.arg("Number").arg(12);//str = "Number 12"

您可以使用jQuery插件来实现这一点:


在这个例子中,参数是完全不必要的。在JS中,我们有简单的字符串连接,它也支持中间的数字,所以您可以通过简单的

var str = 'Number' + ' ' + 12
如果您确实需要非文字字符串中的参数,您可以将
%1
替换为替换
QString::arg
(带一个参数)只不过是以下内容:

function stringArg(str, arg)
{
    for(var i = 1; i <= 9; ++i)
        if(str.indexOf('%'+i) !== -1)
            return str.replace('%'+i, arg);
    return str;
}

(请注意,此函数只能处理
%1
%9
,而
QString::arg
最多可以处理
%99
。这需要更多的逻辑,因为
%10
在我的代码中被测试为
%1
。因此这与
QString::arg
不完全相同,但在大多数情况下就足够了。您可以d也编写了一个<>代码> String ARG/<代码>函数,它采用多个替换参数,但为了简单起见,我只写了一个。在qML环境中,

已经添加到字符串原型中,所以基本上,你可以在qML中使用string,.gar(),就像C++一样。 关于这方面的文档较少,但我确信它在Qt4.7+QtQuick1.1中可以工作

查看Qt 5文档:

只需使用:

"foo%1".arg("bar");
这种“简单”的字符串串联有太多的内部转换,这些转换也相当不一致。
var str = "%1 %2"
str = stringArg(str, "Number")
str = stringArg(str, 12)
"foo%1".arg("bar");