Qt数据结构-QString二:QString的arg能不能像Python的format一样使用

常规QString拼接字符串我们是这样写的

QString s = QString("My name is %1, age %2").arg("zhangsan").arg("18");
qDebug() << s;  // "My name is zhangsan,age 18"

Python的format是这样写的

s = "My name is {name}, age {age}".format(name="zhangsan", age=18)
print(s)    # My name is zhangsan, age 18

在Qt中arg跟两三个参数还好,没啥问题,可是如果跟一二十个参数,咋整。顺序写错了,那就完蛋了。所以我在想是否可以像Python一样可以通过变量名称来赋值

然后就有了下面的这种写法,感觉还不错,大家就当玩玩。

QString s = "My name is {name}, age {age}";
s.replace("{name}", "zhangsan");
s.replace("{age}", "18");
qDebug() << s;  // "My name is zhangsan,age 18"

别说,还挺好使。

原文地址:https://www.cnblogs.com/shiyixirui/p/15216912.html