2013-03-04 18 views
0

Учитывая, что QTextBlock получен из QPlainTextEdit, я хочу изменить фон текста в этом блоке. Я знаю, как это сделать с помощью 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); 
Смежные вопросы