我有一个QString
格式如下:"Test %1 and test %2"
。
我有一个单独的QVariantList
变量。现在,我想创建一个新的QString
并按列表顺序解析所有%
项以及QVariantList
中的项。在Qt中,有没有什么方法可以使用QString
对象呢?
我希望不必手动递归地执行单个arg()
调用,因为那样效率很低。
编辑:例如:
我的QVariantList
包含2个项目:10(整数)和3.14( double )。结束字符串应如下所示:"Test %1 and test %2"
变为"Test 10 and test 3.14"
。
手工将这样完成:
QString str = "Test %1 and test %2";
QVariantList vl { 10, 3.14 };
QString newStr = QString(str).arg(vl[0].toString()).arg(vl[1].toString());
最佳答案
我将通过以下方式解决此问题:
QString str = "Test %1 and test %2";
QVariantList vl{ 10, 3.14 };
QString newStr = str;
// Assume that the QVariantList's size corresponds to the number of placeholder.
for (const auto &v : vl) {
newStr = newStr.arg(v.toString());
}
关于c++ - QString从列表中解析项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60544248/