我试着替换QString img=":/images/f0000.png";
如果 pVaule 是 51 img 应该":/images/f0001.png"
如果 pVaule 是 71 img 应该":/images/f0021.png"
但我的结果是pVaule 是 51 img
":/images/f000u0001.png"
pVaule 是 71 img
":/images/f00u0002u0001.png"
如何解决?
你必须使用数字的 ASCII 值...
if(pValue>=50 && pValue<=89)
{
QString img=":/images/f0000.png";
if(pValue>=50 && pValue<=59)
{
img.data()[12]='0';
img.data()[13]='0'+char(pValue-50);
}
else if(pValue>=60 && pValue<=89)
{
img.data()[12]='0'+char(pValue-50)/10;
img.data()[13]='0'+char(pValue-50)%10;
}
}
此外,更好的解决方案是:
img.replace(10, 4, QString(4 - QString::number(pValue - 50).length()), '0') + QString::number(pValue - 50));