我做了一个界面,有两个tableview,想获取其中一个tableview中选中行的内容,然后把选中行赋值给另一个tableview,总是只取到第一列数据,困惑中,求高手解救。。。
主要代码如下:
QItemSelectionModel *selectionModel =ui->tableView_2->selectionModel();
QModelIndexList indexes = selectionModel->selectedIndexes();
QModelIndex index;
QStandardItem *newItem=0;
if(indexes.count()==0)
{
QMessageBox::warning(this,tr("添加子节点"),tr("请选择要添加的节点!"), QMessageBox::Ok);
}
else
{
if(indexes.count()!=4){
QMessageBox::warning(this,tr("添加子节点"),tr("每次只能添加一个节点!"), QMessageBox::Ok);
}else{
foreach(index, indexes) {
int col=index.column();
newItem = new QStandardItem(index.data().toString());
model->setItem(row,col,newItem);
model->setHeaderData(0, Qt::Horizontal, tr("长地址"));
model->setHeaderData(1, Qt::Horizontal, tr("名称"));
model->setHeaderData(2, Qt::Horizontal, tr("网络号"));
model->setHeaderData(3, Qt::Horizontal, tr("短地址"));
ui->tableView->setModel(model);
}
其中model 是一个QStandardItemModel,row是model也就是tableview的现有行数