Вот к примеру:
C++ (Qt)
QStringList data;
data << "1" << "2" << "3";
QStringListModel* model = new QStringListModel;
model->setStringList(data);
QListView* listView = new QListView;
listView->setModel(model);
Чтобы вызвать действие в таком случае, то нужно:
C++ (Qt)
connect(listView, clicked(QModelIndex), this, SLOT(mySlot(QModelIndex));
В QModelIndex содержится номер элемента списка? И соответственно в слоте нужно играться с этим номером чтобы происходили действия различной сложности?