Поиск элемента в Qt ListView

Есть ListView, к которому подсоединена модель с двумя полями - id компании и имя компании. В ListView выводится имя компании. При нажатии на элемент ListView подгружаются данные из БД по лежащему в модели айдишнику.

Задача в следующем. Зная id компании каким-то образом произвести нажатие на нужный элемент ListView и вывести всю его информацию. Грубо говоря поиск в модели. И всё это НЕ изменяя модель, чтобы при нахождении нужного результата список не состоял из единого элемента, а оставался полноценным.

Сейчас сделал временное решение,

QSqlQuery query;
query.prepare("SELECT id, fullName FROM contacts WHERE id = :id");
query.bindValue(":id", button->getID()); //выполняю запрос по id
query.exec();
contactsModel->setQuery(std::move(query));
QModelIndex lastIndex = ui->listView_contacts->model()->index(0, 0);
ui->listView_contacts->setCurrentIndex(lastIndex);
on_listView_contacts_clicked(lastIndex);

то есть просто выполняю поиск в БД по этому айдишнику и имею измененную модель с одним элементом, что меня мало устраивает. Как быть?


Ответы (0 шт):