To Fynjy:
По идее если ты унаследовал от QAbstractTableModel, тебе надо определить привантно что-то вроде QVector <QVariant> > m_data; или подобную загогулину, которая может представить собой двумерный массив неопределенной длины ( и ширины, если угодно) и сним работать.
Поскольку ты наследуешь от абстратного класса, тебе и самому необходимо реализовать методы класса. Если хочешь проверку на валидность Parent'а делать, то тебе и создавать индексы, переопределять index() метод. Иначе, как сказал Alex у тебя Parent не будет верным.
Можно через internalPointer... но мне не ясна суть необходимости вставки этого условия в код (if (!parent.isValid()) )