Qt を使用してコード エディターを作成しています。x と y の位置 (行と列) を使用して textedit 内の単語を強調表示する方法を知りたいのですが、何かアイデアをお願いします。
この方法を使用すると、位置を取得して一部の文字を強調表示できますが、その後、他のテキストを表示したい場合、すべてのテキストが強調表示されました。
void MainWindow::Target(int 行、int 列) { QTextEdit* TempTextEdit = ui->textEdit; QTextDocument* document = TempTextEdit->document(); QTextCursor カーソル (ドキュメント); //cursor.beginEditBlock(); // カーソル.setPosition(0); cursor.movePosition(QTextCursor::Down, QTextCursor::MoveAnchor, 行-1); カーソル.setPosition(列); cursor.setPosition(列+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(カーソル); }