Было такое у меня в каком-то проекте.
Вот такой конект в конструкторе:
connect(widget.criterylineEdit,SIGNAL(textEdited(const QString&)),this,SLOT(search(const QString&)));
И вот реализация слота поиска:
void resultForm::search(const QString& text){
int index=widget.comboBox->currentIndex();
switch(index){
case 0:
model->setQuery("SELECT fio,sernum,klass,discip,data,quA,quB FROM result WHERE fio LIKE '%"+text+"%'");
widget.tableView->setModel(model);
break;
case 1:
model->setQuery("SELECT fio,sernum,klass,discip,data,quA,quB FROM result WHERE klass LIKE '%"+text+"%'");
widget.tableView->setModel(model);
break;
case 2:
model->setQuery("SELECT fio,sernum,klass,discip,data,quA,quB FROM result WHERE sernum LIKE '%"+text+"%'");
widget.tableView->setModel(model);
break;
}
widget.tableView->resizeColumnsToContents();
widget.tableView->resizeRowsToContents();
}
На int index=widget.comboBox->currentIndex(); не обращай внимания, это комбобокс, в котором указывается критерий, по которому надо искать (фамилия, серия/номер паспорта и тд)