首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QList<QString> to QString.arg()

QList<QString> to QString.arg()
EN

Stack Overflow用户
提问于 2015-12-02 20:32:01
回答 2查看 1.3K关注 0票数 1

我有以下QString:

代码语言:javascript
复制
QString funcProxy = "executeProxy(\"%1\", \"%2\", \"%3\")";

每个on的数据如下:

代码语言:javascript
复制
QList<QString> listProxy;

如何使用arg()方法将listProxy中的数据添加到funcProxy中?

代码语言:javascript
复制
funcProxy.arg(??);

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-03 06:10:43

关于@owacoder的回答,您实际上不需要替换函数,下面的内容应该是恰当的:

代码语言:javascript
复制
for (int i = 0; i < listProxy.size(); ++i) {
    funcProxy = funcProxy.arg(listProxy.at(i));
}

为什么要问:来自QString::arg()上的文档

返回此字符串的副本,并以字符串替换编号最低的位置标记。

因此,它用arg调用中的字符串替换最低的数字。第一次迭代包含%1%2%3,因此它取代了%1。下一次迭代包含%2%3,因此取代了%2

或者,如果您控制了funcProxy,您可以执行以下操作,因为您可以将列表更改为QStringList

代码语言:javascript
复制
QString funcProxy = "executeProxy(\"%1\")";
QStringList listProxy{"a", "b", "c"};

funcProxy = funcProxy.arg(listProxy.join("\", \""));
票数 0
EN

Stack Overflow用户

发布于 2015-12-02 21:03:48

如果您知道列表中有三个元素,您可以这样做:

代码语言:javascript
复制
funcProxy.arg(listProxy.at(0)).arg(listProxy.at(1)).arg(listProxy.at(2));

否则,您可以使用这个:

代码语言:javascript
复制
for (int i = 0; i < listProxy.size(); ++i)
    funcProxy.replace(QString("%%1").arg(i+1), listProxy.at(i));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34052431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档