我正在使用 Qt 编写代码编辑器。我有一个问题,我想知道如何使用它的 x 和 y 位置(行和列)在我的 textedit 中突出显示一个单词,请问有什么想法吗?
使用这种方法,我可以获得位置并突出显示一些字符,但之后如果我想显示其他文本,所有文本都被突出显示。
void MainWindow::Target(int row, int colum)
{
QTextEdit* TempTextEdit = ui->textEdit;
QTextDocument* document = TempTextEdit->document();
QTextCursor 光标(文档);
//cursor.beginEditBlock();
// cursor.setPosition(0);
cursor.movePosition(QTextCursor::Down, QTextCursor::MoveAnchor, row-1);
cursor.setPosition(colum);
cursor.setPosition(colum+2, QTextCursor::KeepAnchor);
QTextCharFormat plainFormat(cursor.charFormat());
QTextCharFormat colorFormat = plainFormat;
colorFormat.setForeground(Qt::red);
colorFormat.setFontUnderline(true);
cursor.movePosition(QTextCursor::WordRight, QTextCursor::KeepAnchor);
cursor.mergeCharFormat(colorFormat);
// cursor.endEditBlock();
TempTextEdit->setTextCursor(光标);
}