QStandardItemModel插入数据的问题
我使用了QStandardItemModel存储数据,格式如下
c1 c2 c3
2 3 6
然后监听了dataChanged信号,当c2列的值发生变化的时候,c3的值随之发生变化
代码如下
void ChangeTheValueAndTotalPrice(QModelIndex x,QModelIndex y ,QVector<int> m)
{
double price = model->data(model->index(x.row(), 0)).toString().toDouble();
double weight = model->data(model->index(x.row(), 1)).toString().toDouble();
double money = price * weight;
cout << money << endl;
//model->setItem(x.row(), 2, new QStandardItem(QString::number(money, 10, 2)));
}
当我不执行setItem的话,执行cout输出就只输出一次,而一旦执行了setItem,这个函数就会死循环,一直执行cout。
正常应该就是c2列发生变化,监测到变化,然后改变c3列的值就好了呀,不懂为何会发生死循环?
求解