Надо смотреть в доки: при добавлении элементов нужно вызывать методы beginInsertRows и endInsertRows:
Java
class LogModel extends QAbstractTableModel {
...
    public void add(TermState state) {
        beginInsertRows(null, States.size(), States.size());
        states.add(state);
        endInsertRows();
    }
...    
    List <TermState> states = new ArrayList <TermState> ();
}
 
Для сишного варианта нужно не null передавать, а пустой QModelIndex:
beginInsertRows(QModelIndex(), ...