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); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步