[Qt-interest] Problem with QAbstractTableModel and adding data
David Heremans
david.heremans at intersoft-electronics.com
Thu Aug 5 14:32:20 CEST 2010
Hello,
I subclassed QAbstractTableModel, as it needs to hold a number of
messages received that I want nicely displayed. The number of messages
in this model should increase up until a maximum and from then on the
older messages are dropped, this all works fine except for one tiny
detail:
I have trouble displaying new data :-\
I created a form containing a QTableView and when instantiated it
creates a display containing as much rows as the datamodel holds at
that time, but when I add new extra data the tableview doesn't create
extra rows for the new data.
This is my update code
void MessagesTableModel::addData(int code, int level, QString message)
{
t_msgStruct remember;
remember.code=code;
remember.level=level;
remember.content=message;
QModelIndex topLeft = createIndex(0,0);
int inlist=m_messages.size();
if ( inlist < m_maxNrMessages){
beginInsertRows(topLeft,inlist+1,inlist+1);
}
m_messages.push_front(remember);
if ( m_messages.size() <= m_maxNrMessages){
endInsertRows();
}
while (m_messages.size() > m_maxNrMessages){
m_messages.pop_back();
};
QModelIndex botRight = createIndex(m_messages.size(),3);
emit dataChanged(topLeft,botRight);
}
What am I missing here ?
Rgds,
David H
More information about the Qt-interest-old
mailing list