0

QPlainTextEdit から取得した QTextBlock を指定して、そのブロック内のテキストの背景を変更したいと考えています。textCursor() を使用してこれを行う方法は知っていますが、この場合、textCursor は別の場所にある可能性があります。ファイル テキストを 1 行ずつトラバースしており、カーソル位置に関係なく現在の行の背景を変更したいと考えています。それができるかどうか私に知らせてください。

4

1 に答える 1

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);
于 2013-03-04T07:16:39.107 に答える