QTableView判断内容是否进行了修改

//tableView双击事件获取未修改前得值 与 更后单元格数据对比

bool isChange;//是否修改
QString oldString;  //未更改值

//双击事件
connect(m_tableView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(on_tableView_doubleClicked(const QModelIndex&)));
//单元格变更事件
connect(model, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &, const QVector<int> &)), this, SLOT(on_tableChange(const QModelIndex &, const QModelIndex &, const QVector<int> &)));


void tableView::on_tableChange(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles)
{ 
    QString newString = topLeft.data().toString();
     if (oldString != newString)
     {
         isChange = true;
     }  
}

void tableView::on_tableView_doubleClicked(const QModelIndex & index)
{
    oldString = index.data().toString();
}

 

posted @ 2021-10-06 17:11  阿、、呆  阅读(2137)  评论(0)    收藏  举报