Didnt emit dataChanged work for you ?
Also try calling view->update();
Didnt emit dataChanged work for you ?
Also try calling view->update();
solved by emit dataChanged signal for every model item that change check state.
oh,it does not solved, there must be something wrong, though i have emit every datachange signal for every change item, qtreeview doesn't refresh well.
may be i don't have write the right code, but it seems beyond my brain now.
i have attach a test demo.
my compile info: qt 4.6.2 on win xp sp3 with vs2008.
it doesn't use any windows special, it should compile everywhere that qt supported.
when compile with qt 4.7 beta1, the same effect as 4.6.2.
seems solved by rewrite method
//-------------------------------------------------
void TorgTreeModel::emitDataChanged( TorgTreeItem* item )
{
TorgTreeItem* parent_item = getOrgItem(item->parent_org_id);
emit dataChanged(createIndex(item->row(),0,parent_item),createIndex(item->row(),1,parent_item));
qDebug() << "datachange" << item->org_full_name;
}
Bookmarks