Моя ситуация выглядит так: у меня есть QTableView и LineEdit. Я хотел бы показать данные, которые содержат значение в LineEdit в реальном времени. Думаю, я должен использовать QSortProxyFilterModel, но я не знаю, как это сделать. Я написал следующее:QTableView фильтрация в реальном времени
void MainWindow::on_lineFind_textEdited(const QString &arg1)
{
QSortFilterProxyModel proxy;
proxy.setSourceModel(ui->tableView->model());
proxy.setFilterRegExp(arg1);
QModelIndex index=proxy.mapToSource(proxy.index(0,0));
if(index.isValid())
{
ui->tableView->selectionModel()->select(index,QItemSelectionModel::Select | QItemSelectionModel::Rows);
ui->tableView->scrollTo(index,QAbstractItemView::EnsureVisible);
}
}
Но это не сработало (без видимых изменений). Пример того, как он должен работать: плейлист Clementine Player.
Почему вы используете жестко закодированный индекс координату? 'QModelIndex index = proxy.mapToSource (proxy.index (0,0));' – RobbieE