[PyKDE] [PyQt]: how to refresh a QTreeView widget?

Andreas Pakulat apaku at gmx.de
Fri Sep 8 11:22:27 BST 2006


On 08.09.06 10:38:51, Oscar Cossu wrote:
> thank you for the advice, I have read the doc again (and again and again).
> Now, I use a QTreeView ,what i have to do ?
> 
> QTreeView::rowsAboutToBeRemoved(param)
> 
> treeviewobj.model().removeRow(param)
> 
> QTreeView::rowsRemoved(param)

No.
 
> or just call removeRow() that call itself beginRemoveRow and endRemoveRow  ?

Well, you said you have your own model, don't you? In there you've got
your removeRows() function. If that one is implemented by doing
something like

beginRemoveRows(parent(), beginRow, endRow);
<code that deletes the stuff from the underlying data, i.e. the xml tree>
endRemoveRows();

Then you're done. You can now use the model's removeRows() function to
remove rows. The same works for columns.

If it still doesn't work for you, please consider posting the important
parts of your model. (i.e. leave out the data, index, parent, *count
functions).

Andreas

> 2006/9/7, Andreas Pakulat <apaku at gmx.de>:
> >
> >On 07.09.06 16:44:23, Oscar Cossu wrote:
> >> Hy all,  I set the model of a QTreeView with an object that is a
> >subclass of
> >> QAbstractItemModel.
> >> When I change the model (ex. deleting a row) and emit layoutChanged()
> >> signal, the treeModel should update the view, but errors occur.
> >
> >Read the Qt documentation on model/view again. You shouldn't use
> >layoutChanged() but call QAbstractItemModel::beginRemoveRows() and
> >::endRemoveRows (the same for inserting rows).
> >
> >Andreas
> >
> >--
> >Accent on helpful side of your nature.  Drain the moat.
> >
> >_______________________________________________
> >PyKDE mailing list    PyKDE at mats.imk.fraunhofer.de
> >http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
> >

> _______________________________________________
> PyKDE mailing list    PyKDE at mats.imk.fraunhofer.de
> http://mats.imk.fraunhofer.de/mailman/listinfo/pykde


-- 
Keep it short for pithy sake.




More information about the PyQt mailing list