1

我正在使用 subclassed QPlainTextEditor,并且我正在使用自定义paintEvent来突出显示每一行。现在,绘画作品,但TextCursor消失了,更糟糕的是,我看不到打字的字母,即使在不应该画的行中也是如此。我 QPainter painter((QAbstractScrollArea*)(viewport()));用作画家并 painter.fillRect(...);用于绘制行。这些是正确的功能吗?

在此先感谢您的帮助。

4

1 回答 1

0

访问文本光标的代码是什么?它应该是这样的:

QTextCursor cursor = textEdit->textCursor();
cursor.insertText(QString(QChar::ObjectReplacementCharacter), svgCharFormat);
textEdit->setTextCursor(cursor); 

其中 textEdit 定义为:

QTextEdit *textEdit;

您可以通过以下方式获取/设置 QTextDocument:

textEdit->document();
textEdit->setDocument(...);
于 2012-10-16T16:11:03.007 回答