qt 设置QTextEdit文本框中指定内容块的背景颜色

效果:

 代码:

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);
    }

 

posted @ 2024-04-24 16:17  雾枫  阅读(396)  评论(0编辑  收藏  举报