А можно ещё сделать словарь из имён заголовков и индексов ихних, типа:
[code python]
n = 0
for i in table.headerData: #или как там их откопать ещё можно? Щаз питона нет под рукой.
headerdict[i]=n
n+=1
table.item(1, headerdict["col2"]).text()
[/code]
Вместе с моделью хранить ещё и словарь с заголовками и их индексами. А если модель изменилась, не забывать, что словарь тоже нужно обновить.
Короче, через попу всё. Свой класс писать надо на основе QStandardItemModel, который будет сам следить за словарём заголовков.