Маленький курс для начинающих.
Q*View(Table;List;Tree) - это виджеты для отображения информации. Скажем так - экраны(дисплеи).
Модель - это класс, хранящий информацию и отдающий её по требованию View.
Для чего это сделано? Чтобы можно было быстро менять/переносить/фильтровать/отображать/сортировать информацию, не затрагивая отображение.
Есть маленькие различия между моделями для разных View:
1) ListView - данные для него это список.
2) TableView - данные для него это матрица(строки и столбцы).
3) TreeView - данные для него построены на принципе родитель/наследник.
У каждой модели есть функции, которые необходимо переопределить при наследовании. Более глубоко распространяться не буду - это тема для оччень большого манула
PS если тебе нужно дерево, попробуй QTreeWidget.
Разница между Q*View и Q*Widget в том, что у Widget уже имеется модель нужного типа и добавлены интерфейсы для использования.