Qt:获取以前输入的字符

时间:2012-04-17 10:19:43

标签: qt

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);

1 个答案:

答案 0 :(得分:2)

QTextCursor::PreviousCharacter是一个枚举,因此您只需在该枚举中存储PreviousCharacter的int值。它应该像这样使用:c.movePosition(QTextCursor::PreviousCharacter)意思是“将光标移动到前一个字符”,如果你输入西方的从左到右的脚本,则意味着左边的下一个字符,反之亦然RTL(即阿拉伯语)脚本。它不会跟踪您键入的字母。您可能需要实现一个记录按键的键事件处理程序。