It's getting a little weird I can't see a method to actually change the "data" of a QStandardItemModel. For example:
struct TestStruct {
std::vector<int> testVector;
void addNumber(int i){
//this method will modify the member vector
}
};
Q_DECLARE_METATYPE(TestStruct)
QStandardItemModel* model = QStandardItemModel(1,1);
QModelIndex index = model->index(0,0);
TestStruct test;
test.addNumber(1);
model->setData(index, qVariantFromValue(test));
With that, I will effectively have added a std::vector with the number 1 to the index {0,0} of the model. But how would I add another number to that TestStruct's vector from places that don't have access to the TestStruct instance anymore?
The "data" function returns a QVariant that can be casted as a TestStruct but its a copy and I need a reference... get it?
Thanks for the help.