效果:
程式碼:
void MainWindow::setCheckResultColor(QTextEdit *textEdit, int position, int length, const QColor &color) { // 獲取文字編輯器的文字選區 QTextCursor cursor = textEdit->textCursor(); // 將選區移動到指定位置 cursor.setPosition(position); // 將選區擴充套件到指定長度 cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor, length); // 建立文字格式物件,並設定背景顏色 QTextCharFormat format; format.setBackground(color); // 應用格式到選區的文字 cursor.mergeCharFormat(format); }
使用:
// 對校驗後不同的位元組設定背景顏色 for(int i=0;i<m_checkIndex.size();i++) { setCheckResultColor(ui->originalBinFile_Edit,m_checkIndex[i],2,Qt::red); setCheckResultColor(ui->exportBinFile_Edit,m_checkIndex[i],2,Qt::red); }