Я сделал так,
C++ (Qt)
QString text = textEdit->document()->toPlainText();
int endWord = textEdit->textCursor().position();
int startWord = text.lastIndexOf(' ',endWord)+1;
int LengthWord = endWord - startWord;
QString word = text.mid(startWord,LengthWord);
В word находится хранимое слово