Есть выход не париться и сделать с querymodel!
http://www.qtforum.org/article/18679/qsqlquerymodel-qtableview-and-sorting.htmlQSqlQueryModel *sqlmodel = new QSqlQueryModel(this);
sqlmodel->setQuery("SELECT * FROM TABLE");
QSortProxyFilterModel *sqlproxy = new QSortProxyFilterModel(this);
sqlproxy->setSourceModel(sqlmodel);
QTableView *tv = new QTableView;
tv->setModel(sqlProxy);