2013-03-04 15 views
0

如果從QPlainTextEdit中檢索到QTextBlock,我想更改該塊中文本的背景。我知道如何在textCursor()的幫助下做到這一點,但在這種情況下,textCursor可能在其他地方。我正逐行遍歷文件文本,並且想要改變當前行的背景,而不管光標位置如何。請讓我知道是否可以完成。如何更改QPlainTextEdit中文本塊的背景

回答

1

將光標移動到要標記的行上會出現什麼問題? 如果需要,您可以保存舊的光標位置。

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); 
相關問題