我正在开发一个Qt项目,我在其中使用QPlainTextEdit在运行时从机器打印接收的数据。一切都运行正常,但我想更新其他风格的某种类型的数据,例如我在我的固件'<>'中使用的用于标题。
Qt方
if(serialArray[0]=='<' && serialArray[1] == 'h' && serialArray[2] == '>')
{
ui->plainTextEdit->setStyleSheet("background-color: #524141; color:white; font-family:\"Helvetica\"; font-size:20px;"); //20px
ui->plainTextEdit->appendPlainText(serialArray);
}else
{
ui->plainTextEdit->setStyleSheet("background-color: #524141; color:white; font-family:\"Helvetica\"; font-size:15px;") // 15px
ui->plainTextEdit->appendPlainText(serialArray);
}
使用20px打印第一个标题,如果下一个数据没有标题所有字体大小设置为15px,因为plainTextEdit属性更改不是text属性。我该怎么办?
标题始终以20px /其他样式打印
正常文字打印15px /与其他样式
我也使用了带游标的insertHTML,但没有按我的意愿工作。
void MainWindow::processSerialdata()
{
serialArray = s_port->readAll();
if(serialArray[0]=='M' && serialArray[1] == 'C' && serialArray[2] == 'H')
{
MCH_DATA.mch = serialArray.mid(0,3);
MCH_DATA.Frame_Id = serialArray.mid(4,4);
MCH_DATA.Frame_Len = serialArray.mid(9,4);
MCH_DATA.Source_Id = serialArray.mid(14,12);
MCH_DATA.Dest_Id = serialArray.mid(27,12);
MCH_DATA.Func_code = serialArray.mid(40,1);
MCH_DATA.UnitID = serialArray.mid(42,12);
MCH_DATA.io_status = serialArray.mid(55,22);
MCH_DATA.extra = serialArray.mid(77,3);
MCH_DATA.adc_sensor_values = serialArray.mid(80,80);
MCH_DATA.hp_lp_sensors = serialArray.mid(160,48);
MCH_DATA.final_status = serialArray.mid(208,1);
MCH_DATA.feature_bytes = serialArray.mid(209,30);
MCH_DATA.crc = serialArray.mid(239,6);
MCH_DATA.etx = serialArray.mid(246,3);
upDateGUI();
}
else{
if(serialArray[0]=='<' && serialArray[1] == 'h' && serialArray[2] == '>')
{
ui->plainTextEdit->setStyleSheet("background-color: #524141; color:white; font-family:\"Helvetica\"; font-size:20px;");
ui->plainTextEdit->appendPlainText(serialArray);
}else
{
ui->plainTextEdit->setStyleSheet("background-color: #524141; color:white; font-family:\"Helvetica\"; font-size:15px;");
ui->plainTextEdit->appendPlainText(serialArray);
}
}
}