QAbstractTableModel 编辑数据

版权声明:未经博主允许,禁止转载 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;
}

猜你喜欢

转载自blog.csdn.net/Think88666/article/details/83154249