Я пытаюсь отключить мою реализацию QAbstractTableModel. Я применил методы rowCount(), columnCount() и data().Как построить QModelIndex с действующим родителем?
После не инстанцирования моей модели, независимо от того, сколько вложений глубокого, родительский индекс всегда недействителен:
parent = model->index(0, 0);
i = model->index(0, 0, parent); // i.parent().IsValid() == false!
Теперь, я действителен. Но i.parent() - нет. Даже если я дальнейшая вложенность:
ancestor = model->index(0, 0);
parent = model->index(0, 0, ancestor);
i = model->index(0, 0, parent); // i.parent().IsValid() == false!
даже тогда, я действителен, но i.parent() не является.
У меня есть модуль, протестировавший методы rowCount и columnCount, и я утверждал, что модель является древовидной моделью, которая имеет одну строку с вложенными двумя строками. Кроме того, количество столбцов отличное от нуля.
Почему мой родительский индекс всегда недействителен?
Вы уверены, что на самом деле вы устанавливаете 'i's parent? – Dillydill123
Если вы хотите создать древовидную модель, вы должны получить from'QAbstractItemModel', а не 'QAbstractTableModel' – RobbieE