Я пытаюсь реализовать простой текстовый поиск в редакторе, который я пишу. Все было хорошо до этой проблемы! Я пытаюсь осуществить обратный поиск здесь. Процедура такова: найдите объект назад, если он не найден, подайте звуковой сигнал один раз, и, если кнопка поиска была нажата еще раз, перейдите к концу документа и выполните поиск снова. "достигаемый" является int, определяемый как закрытый член класса редактора. Вот функция, которая выполняет обратный поиск.
void TextEditor::findPrevPressed() {
QTextDocument *document = curTextPage()->document();
QTextCursor cursor = curTextPage()->textCursor();
QString find=findInput->text(), replace=replaceInput->text();
if (!cursor.isNull()) {
curTextPage()->setTextCursor(cursor);
reachedEnd = 0;
}
else {
if(!reachedEnd) {
QApplication::beep();
reachedEnd = 1;
}
else {
reachedEnd = 0;
cursor.movePosition(QTextCursor::End);
curTextPage()->setTextCursor(cursor);
findPrevPressed();
}
}
}
Проблема в том, что курсор не двигается до конца! И это возвращает Ложь, что означает неудачу. Как это может потерпеть неудачу? !! Заранее спасибо.