0}check=file.readAll()
//一、查找是否有括号里的字符或字符串,如果有,返回1,如果无,返回0
check.contains(string)
如果要忽略大小写,带参数:check.contains(string,Qt::CaseInsensitive)
//二、查找是否有括号里的字符或字符串,如果有,返回当前位置(如例,返回0),如果无,返回-1,注意位置是
从0开始
的
//都可以带很多参数
用QT查找字符串并标记要查找的内容,使用以下代码即可实现:
QString searchString = ui->lineEdit_2->text()QTextDocument *document = ui->description->document()
ui->description->setHtml(ui->description->document()->toPlainText())
int number=0
bool found = false
QTextCursor highlightCursor(document)
QTextCharFormat plainFormat(highlightCursor.charFormat())
QTextCharFormat colorFormat = plainFormat
colorFormat.setForeground(Qt::red)
if(ui->description->toPlainText()==""){
QMessageBox::information(this, tr("description first"),
"Sorry, please display the description first!")
}
else{
ui->result->setPlainText("")
QString resultstring="搜索结果:"
QString laststring
/*while循环体是本代码的关键-——开始——*/
while (!highlightCursor.isNull() && !highlightCursor.atEnd()) {
if(ui->daxiaocheckBox->isChecked()==true){
highlightCursor = document->find(searchString, highlightCursor,QTextDocument::FindCaseSensitively)
}//这个是实现大小写区分效果的代码,你可能不需要
else
highlightCursor = document->find(searchString, highlightCursor)
if (!highlightCursor.isNull()) {
number++
found = true
highlightCursor.movePosition(QTextCursor::Right,QTextCursor::KeepAnchor,0)
highlightCursor.mergeCharFormat(colorFormat)
laststring=QString::number(highlightCursor.position(),10)
if(ui->onlyTwo->isChecked()==true){
if(number<=1)
resultstring+="n occurrence"+QString::number(number,10)+":—— position:"+QString::number(highlightCursor.position(),10)
}//这个是实现大小写区分效果的代码,你可能不需要
else
resultstring+="n occurrence"+QString::number(number,10)+":—— position:"+QString::number(highlightCursor.position(),10)
}
}
/*关键代码结束*/
if(number>1&&ui->onlyTwo->isChecked()==true)
resultstring+="n occurrence"+QString::number(number,10)+":—— position:"+laststring
ui->result->setPlainText(resultstring)
if (found == false) {
QMessageBox::information(this, tr("Word Not Found"),
"Sorry, the word cannot be found.")
}
else {
QMessageBox::information(this, tr("Word was Found"),
"the word '"+searchString+"' was found for "+QString::number(number,10)+((number>1)? " times":" time"))
}
}
if(model->select()){
//有数据
}else
{
QMessageBox::warning(this,tr("警告"),tr("找不到相符号码!"),QMessageBox::Yes)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)