版权声明:未经博主允许,禁止转载 https://blog.csdn.net/Think88666/article/details/83154249
在上一篇博客的基础之上实现编辑数据的功能。只需要在继承 QAbstractTableModel 之后,重写
.h文件中
virtual Qt::ItemFlags flags(const QModelIndex &index) const;
virtual bool setData(const QModelIndex &index, const QVariant &value, int role);
.cpp文件中
//这里是 ModelEx 类继承了 QAbstractTableModel
Qt::ItemFlags ModelEx::flags(const QModelIndex &index) const
{
return Qt::ItemIsEnabled | Qt::ItemIsSelectable|Qt::ItemIsEditable;
}
bool ModelEx::setData(const QModelIndex &index, const QVariant &value, int role)
{
//处理 Qt::EditRole 角色,此时的 value 就是修改后的值
if(index.isValid()&&role==Qt::EditRole){
switch (index.column()) {
case 0:
//
break;
case 1:
//
break;
case 2:
//
break;
default:
break;
}
}
return true;
}