我的情况是这样的:我有一个QTableView和LineEdit。我想实时显示包含LineEdit中值的数据。我猜我应该使用QSortProxyFilterModel,但我不知道如何做。我写了这个:
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播放器播放列表。
QModelIndex index=proxy.mapToSource(proxy.index(0,0));
- RobbieE