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