QString arg能不能像Python format一样使用

Posted 十一的杂文录

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"

 

别说,还挺好使。

 

以上是关于QString arg能不能像Python format一样使用的主要内容,如果未能解决你的问题,请参考以下文章

Qt中的QString::sprintf和QString::arg有啥区别?

QString::?arg的用法

QString之arg

QString::arg()的参数中的“%1”如何处理?

一组float型数据,转换为Qstring,怎么做

Qstring格式化字符串