QTableView怎样删除其中的一行
我设置了一个QtableView来显示数据,用QStandardItemModel设置其表格,用QStandardItem设置其内容,我知道怎么添加,然后不知道怎么删除其中的一行。比如说我的表格里有个IP列,我想根据IP的来删除IP所在那一行。
这是我的代码:
m_model.setColumnCount(4); m_model.setRowCount(4); ui.tableView->setModel(&m_model); m_model.setHeaderData(0,Qt::Horizontal,tr("客户端IP")); m_model.setHeaderData(1,Qt::Horizontal,tr("客户端DNS")); m_model.setHeaderData(2,Qt::Horizontal,tr("客户端MAC")); m_model.setHeaderData(3,Qt::Horizontal,tr("接受到的数据"));if (FD_ISSET(SOCK_conn,&fdread)) { QStandardItem *myItem = NULL; if (recv(SOCK_conn,(char*)&myA,sizeof(ClientInfo1),0) != 0) { myItem = new QStandardItem; myItem->setText(inet_ntoa(TempAddr.sin_addr)); m_model.setItem(row,coloumn,myItem); coloumn++; myItem = new QStandardItem; myItem->setText(tr(myA.Client_DNS)); m_model.setItem(row,coloumn,myItem); coloumn++; myItem = new QStandardItem; myItem->setText(tr(myA.Client_MAC)); m_model.setItem(row,coloumn,myItem); coloumn++; myItem = new QStandardItem; myItem->setText(tr(myA.recvData)); m_model.setItem(row,coloumn,myItem); coloumn = 0; }row++;
QList<QStandardItem *> tList = m_model.findItems ("192.168.10.2");QStandardItem* tItem = tList.at(0);int row = tItem.row();m_model.removeRow(row);
[解决办法]
4楼+1