QTableView怎样删除其中的一行

chpLOVElgz 2012-07-31 11:32:45
我设置了一个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++;



求高手帮忙,怎样获取客户端IP所在行,然后删除它所在行,急!急!急!
...全文
1386 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
addfourliu 2012-08-02
  • 打赏
  • 举报
回复
4楼+1
再搬一次砖 2012-08-01
  • 打赏
  • 举报
回复
这还不够详细啊?好吧我就你上面定义的变量给你写写:
QList<QStandardItem *> tList = m_model.findItems ("192.168.10.2");
QStandardItem* tItem = tList.at(0);
int row = tItem.row();
m_model.removeRow(row);
chpLOVElgz 2012-08-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
先获取包含查找IP的所有QStandardItem:
QList<QStandardItem *> QStandardItemModel::findItems ( const QString & text, Qt::MatchFlags flags = Qt::MatchExactly, int column = 0 ) const
然后获取行:
int QStandardItem……
[/Quote]

能说具体点嘛?
再搬一次砖 2012-08-01
  • 打赏
  • 举报
回复
先获取包含查找IP的所有QStandardItem:
QList<QStandardItem *> QStandardItemModel::findItems ( const QString & text, Qt::MatchFlags flags = Qt::MatchExactly, int column = 0 ) const
然后获取行:
int QStandardItem::row () const
最后删除该行:
bool QAbstractItemModel::removeRow ( int row, const QModelIndex & parent = QModelIndex() )
chpLOVElgz 2012-07-31
  • 打赏
  • 举报
回复
没人吗?自己顶一顶

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧