Qlabel убирает пробелы при выводе
Выдаю таблицу в Qlabel. Для этого использую связку QLABEL - HTML. При выводе текста в ячейку убираются пробелы перед знаком равенства.В данном случаи перед знаком равно 2 пробела 'Ub =' а показан только один пробел.
void Calibration3::outInfoTable()
{
QString str;
QString I = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.current);
QString I1 = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.MeasCurrent1);
QString I2 = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.MeasCurrent1);
QString Imax = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.MaxCharDischarCurent);
QString Ub = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.voltAcumBat);
QString U36 = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.volt36V);
QString Unom = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.NomVoltage);
QString Umax = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.voltMax);
QString Umin = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.voltMin);
QString Isol = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.insulation);
QString T1 = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.temp1);
QString T2 = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.temp2);
QString f = QString().asprintf("%05d", sysVar->memMapDevRx[246].chDs.frequency);
QString S1k = QString().asprintf("%3.2f", sysVar->memMapDevRx[246].chDs.Sensor1_K);
QString S1b = QString().asprintf("%3.2f", sysVar->memMapDevRx[246].chDs.Sensor1_B);
QString S2k = QString().asprintf("%3.2f", sysVar->memMapDevRx[246].chDs.Sensor2_K);
QString S2b = QString().asprintf("%3.2f", sysVar->memMapDevRx[246].chDs.Sensor2_B);
QString UAk = QString().asprintf("%3.2f", sysVar->memMapDevRx[246].chDs.VBat_K);
QString UAb = QString().asprintf("%3.2f", sysVar->memMapDevRx[246].chDs.VBat_B);
QString U36k = QString().asprintf("%3.2f", sysVar->memMapDevRx[246].chDs.V36V_K);
QString U36b = QString().asprintf("%3.2f", sysVar->memMapDevRx[246].chDs.V36V_B);
str.clear();
str = QString(
" <H4><CENTER><font color='green'><b>Связь есть!<\b></CENTER></H4>"
" <CENTER> <TABLE BORDER=0>"
"%1 %2 %3 %4"
" </TABLE> </CENTER>"
)
.arg(buildRow("I =" , I , "I1 =" , I1 , "I2= " , I2 , "PINK" ))
.arg(buildRow("Ub =" , Ub , "U36 =" , U36 , "Umax=" , Umax , "YELLOW" ))
.arg(buildRow("Unom=" , Unom , "Isol=" , Isol, "T1= " , T1 , "#00f000" ))
.arg(buildRow("f =" , f , " " , " " , " " , " " , "#00f000" ));
ui->label_3->clear();
ui->label_3->setText(str);
}
QString Calibration3::buildRow(QString txt1, QString value1, QString txt2, QString
value2, QString txt3, QString value3, QString bgcolor)
{
QString str= QString(
" <TR BGCOLOR=%7>"
" <TD>%1%2</TD><TD>%3%4</TD><TD>%5%6</TD>"
" </TR>")
.arg(txt1).arg(value1).arg(txt2).arg(value2).arg(txt3).arg(value3).arg(bgcolor);
return str;
}
Источник: Stack Overflow на русском