如何对QTextEdit的文本实现双向查找操作?
QString findStr = find_textLineEdit->text(); if(!ui->textBrowser->find(findStr,QTextDocument::FindBackward)){
QMessageBox::warning(this,tr("Find"),tr("No Find %1") .arg(findStr));
}上面的是,实现向后查找,也就是从文本的最下面一直到开头!
问题:
1、如何实现从文本的开头查找到文本的结尾?
当查找到文本的结尾或者开头之后,再次点击查找的时候,会弹出QMessageBox。
2、我怎么实现,从开头查到结尾然后又从开头到结尾的这样查询呢?
------解决方案--------------------
void MainWindow::slotFind(){
QString findtxt = editFind->text();
if(findtxt.isEmpty()){
QMessageBox::warning(this,tr("warning"),tr("No input"));
}else{
text->moveCursor(QTextCursor::Start);
if(!text->find(findtxt)){
QMessageBox::StandardButton btn;
btn = QMessageBox::information(this,tr("Find"),"cannot find,"+findtxt+"\ntry again?",QMessageBox::Ok,QMessageBox::Abort);
if(btn == QMessageBox::Ok){
text->moveCursor(QTextCursor::Start);
slotFind();
}
}
}
}
这是我写的方法,至于LZ另外的需求应该很容易实现了。。。