PDA

View Full Version : Too many events for a QTableview ???



tonnot
31st March 2011, 20:47
I have a simple QTableview linked wiht a custom tablemodel.
I have 2x2 cells.
I wanted to know what is happen inside tablemodel (how it works) and I write a debug code to make it possible.
I have 2 logs, the first during initial visualization, the second when click o a cell.
I think that there is many instruccions to process.
Any idea ?

The log I have, just only to view the Window with the QtableView.
row count
col count
row count
col count
row count
col count
row count
row count
row count
col count
row count
col count
row count
col count
col count
row count
headerdata0 2
headerdata0 2
headerdata0 2
headerdata0 2
row count
headerdata1 2
headerdata1 2
headerdata1 2
headerdata1 2
col count
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
col count
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
col count
row count
col count
row count
col count
row count
col count
headerdata0 2
headerdata0 2
headerdata0 2
headerdata0 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
row count
col count
row count
col count
flags0 0
flags0 0
row count
row count
row count
col count
flags0 0
ask for data0 0
ask for data0 0
ask for data0 0
ask for data0 0
ask for data0 0
ask for data0 0
ask for data0 0
row count
col count
flags0 1
ask for data0 1
ask for data0 1
ask for data0 1
ask for data0 1
ask for data0 1
ask for data0 1
ask for data0 1
row count
col count
flags1 0
ask for data1 0
ask for data1 0
ask for data1 0
ask for data1 0
ask for data1 0
ask for data1 0
ask for data1 0
row count
col count
flags1 1
ask for data1 1
ask for data1 1
ask for data1 1
ask for data1 1
ask for data1 1
ask for data1 1
ask for data1 1
headerdata0 2
headerdata0 2
headerdata0 2
headerdata0 2
headerdata0 2
headerdata0 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata0 2
headerdata0 2
headerdata0 2
headerdata0 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1

This is the log I get when click on cell 0,0
row count
row count
col count
flags0 0
ask for data 0 0
ask for data 0 0
ask for data 0 0
ask for data 0 0
ask for data 0 0
ask for data 0 0
ask for data 0 0
row count
col count
flags0 1
ask for data 0 1
ask for data 0 1
ask for data 0 1
ask for data 0 1
ask for data 0 1
ask for data 0 1
ask for data 0 1
row count
col count
flags1 0
ask for data 1 0
ask for data 1 0
ask for data 1 0
ask for data 1 0
ask for data 1 0
ask for data 1 0
ask for data 1 0
row count
col count
flags1 1
ask for data 1 1
ask for data 1 1
ask for data 1 1
ask for data 1 1
ask for data 1 1
ask for data 1 1
ask for data 1 1
headerdata0 2
headerdata0 2
headerdata0 2
headerdata0 2
headerdata0 2
headerdata0 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata1 2
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata1 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
headerdata0 1
row count
col count
flags0 0
flags0 0
flags0 0
flags0 0
row count
row count
col count
row count
col count
flags0 0
flags0 0

wysota
31st March 2011, 22:58
So what's exactly your question? "Is it normal that the model is queried so much during initialization?". If so, then yes, it's normal. And the actual count depends on the settings of the view. Especially resizing columns to contents puts a heavy impact on the model-view communication.

tonnot
1st April 2011, 07:10
Ok, you consider it's normal, but I think that there is a lot of unuseful job.
The only thing that is used 'normally' is the 'flag' control, it is called only a litte times, but .... I'm surprised of the 100 instrucciones I see only when click on 0x0 cell.
It is not initialization .....

wysota
1st April 2011, 09:40
Ok, you consider it's normal, but I think that there is a lot of unuseful job.
No problem - correct the code then and submit a patch to Qt.