QString заменить элемент - PullRequest
       24

QString заменить элемент

0 голосов
/ 23 января 2019

пытаюсь заменить QString img=":/images/f0000.png";

Если pVaule равно 51, img должно быть ":/images/f0001.png"

Если pVaule равно 71, img должно быть ":/images/f0021.png"

Но мой результат pVaule составляет 51 img

":/images/f000\u0001.png"

pVaule составляет 71 img

":/images/f00\u0002\u0001.png"

Как это исправить?

1 Ответ

0 голосов
/ 23 января 2019

Вы должны использовать значение 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(50 + pValue).length()), '0') + QString::number(50 + pValue));
...