[PyKDE] QAbstractItemView Question
Matt Newell
newellm at blur.com
Thu Nov 16 21:37:32 GMT 2006
On Thursday 16 November 2006 13:18, Brent Villalobos wrote:
> I'm a PyQt newbie so maybe there's an easier way, but I wrote my own. I
> saved out various view attributes, swapped in a new model, and then set the
> view to those saved-out variables. It works well and to the end user the
> table just updates without losing any context. It's a little annoying to
> code, but I was able to save out and set selections, sort order, vertical
> positions, column size, and column positions.
>
> The problem with selections is when a new model has a different number or
> order of elements. For example, if the first row is selected in your
> current model, then you can easily set the first row as selected when you
> reload the model. However, the first row in the new model may be a
> completely different element. I worked around this by designating a unique
> key for each row. So instead of recording which rows are selected, I
> recorded which keys were selected. Then I had to search through the new
> model and find those keys and select them in the selection model.
> -Brent
>
> > On 11/16/06, Matt Chambers <chambers at imageworks.com> wrote:
> >> Is it possible that using one of the View classes, to reset() the model,
> >> but still maintain any selections the users had on items that were in
> >> the old data, and the new data?
> >>
Why not just avoid calling reset? If you use beginInsertRows, layoutChanged,
or whatever is needed, then the selection will be maintained automatically.
Matt
More information about the PyQt
mailing list