0
QTextCursor c = ui->textEdit->textCursor();
QChar cc = c.PreviousCharacter;
这不会产生错误,但也没有结果(不知道是什么存储在cc中)。我希望在QTextEdit中收集前一个类型化的字符,不管光标位于何处(例如,不收集QTextEdit中的最后一个字符,而是最后输入的字符)。任何人?谢谢!Qt:获取以前输入的字符
更新:
终于明白了。看代码。
QTextCursor cursor = ui->textEdit->textCursor();
cursor.select(QTextCursor::WordUnderCursor);
QString c = cursor.selectedText().right(1);
我有一个关键事件(on_textEdit_textChanged),并测试它的工作原理(使用QMessageBox)。但是'c.movePosition(QTextCursor :: PreviousCharacter)'没有真正发生。光标停留在相同的位置。如果我写'QChar cc = c.movePosition(QTextCursor :: PreviousCharacter);' – raze 2012-04-17 10:40:03
为什么你甚至试图存储从movePosition返回的任何东西。它只返回一个布尔值,指示移动是否成功,即如果你在缓冲区的开始处,它将返回false,因为它不能再向后移动,如果移动成功则返回true。你正在阅读文档,或只是想猜测每个函数的作用? – teukkam 2012-04-17 10:52:18