Qt QString::arg()在QML中的等价性是什么
我想知道如何在QML中有一个字符串,它将被一些参数占用?Qt中的某些内容如下: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替换为
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");