You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt中QString模板占位符与相邻数字冲突的解决方法问询

解决QString arg占位符与后续数字冲突的问题

问题根源:Qt的QString::arg会将%26这类写法解析为第2个参数+宽度为6的格式设置,而非%2占位符加普通字符6,导致解析异常或结果不符合预期。

不拆分字符串的前提下,有两种规范的解决方式:

  • 字符串参数场景:给占位符添加字符串格式说明符s,明确标记这是字符串参数,让Qt停止将后续数字解析为格式设置:

    QString("123%1%2s6789").arg("4").arg("5");
    

    执行后会正确替换为123456789。

  • 数字参数场景:如果传入的是整数等数字类型,可使用对应类型的格式符(比如整数用d),同样能分隔占位符与后续普通数字:

    QString("123%1%2d6789").arg(4).arg(5);
    

内容的提问来源于stack exchange,提问作者TSG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 22:13:09