Я использовал архитектуру представления модели только один раз, но постараюсь дать вам общее представление об этой архитектуре, потому что, как мне кажется, вы еще не очень хорошо ее понимаете. Так что это, вероятно, будет неполным и упрощенным, но, надеюсь, в некоторой степени правильным.
Если вы работаете с видом, вы можете предоставить свою собственную модель. Если вы работаете с виджетом, то вы не работаете с моделью qt, а вставляете элементы самостоятельно. Предпочтительно вы работаете с моделью, чтобы отделить вещи (чтобы вы могли иметь более одного вида для одной и той же модели или изменить модель позже, ...)
Когда вы используете модель, представление само по себе знает, как попросить предоставленную вами модель заполнить представление (используя функцию данных). Есть несколько способов получить выбор из этого представления: я обработал его, соединив сигнал clicked, который представление генерирует, когда пользователь щелкает в представлении, к функции слота, которую я написал сам. Сигнал clicked обеспечивает индекс таблицы / списка, который я сопоставляю с элементом в моей модели в этой функции слота.
Возможно, есть и другие способы сделать это, но вот как я это сделал, и все работает отлично.
Чтобы получить общее представление об архитектуре вида модели qt:
http://doc.trolltech.com/4.5/model-view-programming.html