0
如果從QPlainTextEdit中檢索到QTextBlock,我想更改該塊中文本的背景。我知道如何在textCursor()的幫助下做到這一點,但在這種情況下,textCursor可能在其他地方。我正逐行遍歷文件文本,並且想要改變當前行的背景,而不管光標位置如何。請讓我知道是否可以完成。如何更改QPlainTextEdit中文本塊的背景
如果從QPlainTextEdit中檢索到QTextBlock,我想更改該塊中文本的背景。我知道如何在textCursor()的幫助下做到這一點,但在這種情況下,textCursor可能在其他地方。我正逐行遍歷文件文本,並且想要改變當前行的背景,而不管光標位置如何。請讓我知道是否可以完成。如何更改QPlainTextEdit中文本塊的背景
將光標移動到要標記的行上會出現什麼問題? 如果需要,您可以保存舊的光標位置。
int oldPos = edit->textCursor().position();
QTextCursor cursor = edit->textCursor();
int oldPos = cursor.position();
int linePos = // get the line position
cursor.setPosition(linePos);
cursor.select(QTextCursor::LineUnderCursor);
cursor.setCharFormat(format);
cursor.setPosition(oldPos);
edit->setTextCursor(cursor);