我使用了一个子类化的QPlainTextEditor,并且使用了一个自定义的paintEvent来每隔一行高亮显示一次。现在,画可以工作了,但是TextCursor消失了,更糟糕的是,我看不到输入的字母,甚至在不应该绘制的行中也看不到。我使用QPainter painter((QAbstractScrollArea*)(viewport()));作为绘制器,使用painter.fillRect(...);来绘制行。这些都是正确的函数吗?
提前感谢你的帮助。
发布于 2012-10-17 00:11:03
访问文本光标的代码是什么?它应该是这样的:
QTextCursor cursor = textEdit->textCursor();
cursor.insertText(QString(QChar::ObjectReplacementCharacter), svgCharFormat);
textEdit->setTextCursor(cursor); 其中textEdit是定义为:
QTextEdit *textEdit;您可以使用以下命令获取/设置QTextDocument:
textEdit->document();
textEdit->setDocument(...);https://stackoverflow.com/questions/12332009
复制相似问题