Нужно сделать подсветку искомого слова., нашел пример Text Finder Example (http://doc.trolltech.com/4.7/uitools-textfinder.html) ...
Все банально просто есть lineEdit в которое вводиться искомое слово , и есть plainTextEdit в котором отображается сохраненный в файле текст....
Вот мой код :
C++ (Qt)
void DemAstPro::on_pushButton_2_find_help_clicked()
{
QString searchString;
searchString = ui->lineEdit_4_find_help->text();
QTextDocument *document = ui->plainTextEdit_help->document();
bool found = false ;
if (isFirstTime == false)
document->undo();
if (searchString.isEmpty())
{
QMessageBox::information(this, tr("Поле пошуку пусте"),
tr("Будь-ласка введіть слово для пошуку і натисніть Пошук"));
}
else
{
QTextCursor highlightCursor(document);
QTextCursor cursor(document);
cursor.beginEditBlock();
QTextCharFormat plainFormat(highlightCursor.charFormat());
QTextCharFormat colorFormat = plainFormat;
colorFormat.setBackground(Qt::yellow);
while (!highlightCursor.isNull() && !highlightCursor.atEnd())
{
highlightCursor = document->find(searchString, highlightCursor, QTextDocument::FindWholeWords);
if (!highlightCursor.isNull())
{
found = true;
highlightCursor.movePosition(QTextCursor::WordRight,
QTextCursor::KeepAnchor);
highlightCursor.mergeCharFormat(colorFormat);
}
}
cursor.endEditBlock();
isFirstTime = false;
if (found == false)
{
QMessageBox::information(this, tr("Слово не знайдене"), tr("Вибачте, неможливо знайти слово"));
}
}
}
Я не пойму в чем трабл : если делать это в отдельном проекте то все пашет , а если делать это в моем проекте то оно не ищет а переходит сразу на див. код.....