Hi all,

I have my own model SettingsTreeModel (which is editable) and here is the part of my code:

Qt Code:
  1. bool SettingsTreeModel::setData(const QModelIndex &index, const QVariant &value, int role)
  2. {
  3.  
  4. StackTrace st("stm setdata");
  5. if (role != Qt::EditRole)
  6. return false;
  7. SettingsNode *node = static_cast<SettingsNode *>(index.internalPointer());
  8. QStringList attributeList;
  9. switch(index.column()) {
  10. case 0:
  11. node->setName(value.toString());
  12. break;
  13. case 1:
  14. node->setAttributeMap(AttributeMap(value.toString()));
  15. break;
  16. case 2:
  17. beginInsertRows(index,0,0); //a new row may be prepended.
  18. st.addExtraInfo(QString("beginInsertRows(%1, %2, %3)").arg(reinterpret_cast<unsigned>(index.internalPointer())).arg(0).arg(0));
  19. node->setValue(value.toString());
  20. endInsertRows(); //maybe?
  21. break;
  22. default:
  23. return false;
  24. }
  25. emit dataChanged(index, index);
  26. return true;
  27. }
To copy to clipboard, switch view to plain text mode 

Here the data is changed (new row is inserted) but view doesn't show it. why do u think?

btw, i tested my model againist qt labs' modeltest and there isn't any error.