0
QTextCursor c = ui->textEdit->textCursor();
QChar cc = c.PreviousCharacter;

これはエラーを生成しませんが、結果も生成しません (cc に何が保存されているかわかりません)。カーソルがどこにあるかに関係なく、QTextEdit で以前に入力された文字を収集したい (たとえば、QTextEdit で最後の文字を収集するのではなく、最後に入力された文字を収集する)。誰か?ありがとう!

アップデート:

最後にそれを手に入れました。コードを参照してください。

QTextCursor cursor = ui->textEdit->textCursor();
cursor.select(QTextCursor::WordUnderCursor);
QString c = cursor.selectedText().right(1);
4

1 に答える 1

2

QTextCursor::PreviousCharacterは列挙であるため、PreviousCharacter の int 値をその列挙に格納するだけです。次のように使用することになっています: c.movePosition(QTextCursor::PreviousCharacter)「カーソルを前の文字に移動する」を意味し、西洋の左から右のスクリプトで入力している場合は左の次の文字を意味し、RTL (つまりアラビア語) ではその逆を意味します。スクリプト。入力した文字は追跡されません。おそらく、キー押下をログに記録するキー イベント ハンドラを実装する必要があります。

于 2012-04-17T10:27:27.160 に答える