需要在模型的setData函数中添加两个函数:
bool QTabveiwModel::setData(const QModelIndex &index, const QVariant &value, int role)
{
beginResetModel();//在开始添加此函数
if (role == Qt::UserRole)
{
MODEL_DATA * employee = value.value<MODEL_DATA *>();
if (index.row() >= datas.count())
{
datas.push_back(employee);
}
else if (index.row() > 0)
{
datas.insert(index.row(), employee);
}
else
{
datas.push_back(employee);
}
endResetModel(); //在结束前添加此函数
return true;
}
}