Qt QTableView、QTreeView、QListView 清空或删除数据的几种方式

Qt QTableView、QTreeView、QListView 清空或删除数据的几种方式


一、清空 view 中的数据的几种方式

都是通过model删除

  model->clear();  // 从模型中删除所有项(包括标题项),并将行数和列数设置为零。
  model->removeRows(0, model->rowCount()); // 删除所有行
  model->clearSpans();  // 意思是移除整个行列的间距 不是删除数据
// 清除表格内容,删除所有存在的行,要不然会导致空行的出现
for(int r = ui->tableWidget->rowCount() - 1; r >= 0; r--){
	ui->tableWidget->removeRow(r);
}

二、删除某行

// 查找待删除行
//     Qt::MatchContains:查找的字符串包含在 item 中
//     Qt::MatchRecursive:递归查找
QList<QStandardItem *> itemList = model->findItems(QStringLiteral("xxx"), Qt::MatchContains | Qt::MatchRecursive, 0);

// 获取待删除行的行号
int iRow = itemList.at(0)->row();

// 从待删除行的父节点中删除该行
itemList.at(0)->parent()->removeRow(iRow);

版权声明:本文为qq_40944577原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。