PDA

View Full Version : QTableView and setIemDelegate



mazurekwrc
15th October 2012, 14:32
Hi, I change version of qt from 4.8.2 to 4.8.3 and I've got a problem with QTableView and QItemDelegate.
I've subclass QTabelView and inside my MyTabelView I do somtehing like this:


MyDelegate *mydelegate = new MyDelegate(this);
setItemDelegateForRow( row_1, mydelegate );

when I change row I make


delete mydelegate;
MyDelegate *mydelegate = new MyDelegate(this);
setItemDelegateForRow( row_2, mydelegate );

In Qt 4.8.2 everythin was ok. Now I.ve get error and my program is shut down.
Using debbuger I've noticed that Qt try to use pointer to mydelegate for row_1 but it's NULL;
I also try this to see that's wrong:
Qt 4.8.


itemDeleaget( some_QModelIndex )

I get Qt 4.8.2: QStyledItemDelegaete Qt 4.8.3: QStyledItemDelegaete
after set my deleagete


itemDeleaget( some_QModelIndex )

I get Qt 4.8.2: MyDelegate Qt 4.8.3: MyDelegate
when I delete mydelegaet


itemDeleaget( some_QModelIndex )

I get Qt 4.8.2: QStyledItemDelegaete Qt 4.8.3: NULL

And my question is: is it bug or maybe I'm doing something wrong and in Qt 4.8.2 it's "work ok"