事先创建listview并且添加了model。如果想跳转到某一条目(相当于模拟点击),怎么办呢?当然用
void QAbstractItemView::setCurrentIndex(const QModelIndex &index)+clicked(const QModelIndex &index)
这个两个函数。
重点是如何取index
就要用到这个虚函数QModelIndex QStandardItemModel::index(int row, int column, const QModelIndex &parent = QModelIndex()) const 。
前面的函数触发选中状态,后面模拟点击。
代码如下,假设点击按钮跳转。
(我的listview已经添加过条目了,代码就不贴了。model为 QStandardItemModel *model;)
void MainWindow::onpushbuttonclicked()
{
int nowlist=3;//假设跳转到第三项
QModelIndex indexFromList = model->index(nowlist, 0);//取model
ui->listView->clicked(indexFromList);
ui->listView->setCurrentIndex(indexFromList);
}