[pygtk] make a ListStore to sort itself
Florian Diesch
diesch at spamfence.net
Tue Jan 30 12:04:29 WST 2007
"Volker Helm" <Helm.volker at gmx.de> wrote:
>
> Bye,
>
> Volker
>
> -------- Original-Nachricht --------
> Datum: Fri, 26 Jan 2007 23:24:10 +0100
> Von: Florian Diesch <diesch at spamfence.net>
> An: pygtk at daa.com.au
> Betreff: Re: [pygtk] make a ListStore to sort itself
>
>> "Volker Helm" <Helm.volker at gmx.de> wrote:
>>
>> >> I have a sorted ListStore containing values that change themself. After
>> >> a change I want to sort it again.
>> >>
>> >> So far I'm doing it by calling set_sort_column_id() with a different
>> >> sort_column_id or order and then calling it again with the right
>> values.
>> >>
>> >> Is there a better way?
>> >>
>> >> Calling row_changed() or sort_column_changed() doesn't work and using
>> >> set(), remove() etc. is difficult as the values don't know to which row
>> >> they belong.
>> >
>> > just use gtk.TreeModelSort(model).
>> >
>> > There is an example in the tutorial
>> >
>> http://www.pygtk.org/pygtk2tutorial/sec-TreeModelSortAndTreeModelFilter.html
>> >
>> > Hope that will help,
>> >
>>
>> I don't understand how to do it as I can't tell TreeModelSort to resort
>> itself or its child model.
>
> These are the magical lines:
>
> win.sm = gtk.TreeModelSort(self.liststore)
> # Set sort column
> win.sm.set_sort_column_id(n, gtk.SORT_ASCENDING)
> win.tv = gtk.TreeView(win.sm)
>
> So, when you insert a line into the model, now win.sm, with sorting
> column n, the row sorting itself. That was the way as I understood it.
My problem is that I don't insert new rows but just get noticed that
some value in an existing row has been changed.
Florian
--
<http://www.florian-diesch.de/>
More information about the pygtk
mailing list