获取多行数据
//获取选中的行,默认获取选中行的第一列数据(0),列的索引值和上面一样0、1、2、3......
QModelIndexList selected = ui.treeView->selectionModel()->selectedRows(1);
QList<QModelIndex>::const_iterator cit;
QModelIndex temp;
QString strSelect;
for (cit = selected.begin(); cit != selected.end(); ++cit)
{
temp = *cit;
strSelect = ui.treeView->model()->itemData(temp).values()[0].toString();
}
如果想要获取选中行的所有列数据,则可以使用
QModelIndexList selected = ui.treeView->selectionModel()->selectedIndexes();
注意,selected里面保存的数据,先是所有行的第一列输入,然后是所有行的第二列数据,依次类推。
获取单行选中的数据
QModelIndex selected = ui.treeView->currentIndex(); //选中的行
selected = selected.sibling(selected.row(),0); //0 就是第一列元素,1就是第二列元素,依此类推
QString strColumn0(ui.treeView->model()->itemData(selected).values()[0].toString()); //由你自己每一列的QVariant绑定的值,决定获取数据的方式