1

我正在使用 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(光标);

}

4

1 回答 1

1

您可以使用QSyntaxHighlighter

于 2014-05-20T14:24:46.933 回答