[PyQt] Resizing rows to contents after sort when QSortFilterProxyModel is used
waterbug at pangalactic.us
Fri Feb 12 06:21:48 GMT 2016
On 02/12/2016 01:17 AM, Steve Waterbury wrote:
> On 02/05/2016 04:25 PM, David Cortesi wrote:
>> From: Steve Waterbury <waterbug at pangalactic.us
>> Any ideas on this one?
>> > I'm using a QTableView with a QSortFilterProxyModel.
>> > When I first instantiate and populate the
>> > table view, I call resizeColumnToContents on each
>> > column, followed by resizeRowsToContents on the table
>> > view (there are some multi-line cells).
>> > However, the sizing to contents is lost when a sort is done
>> You need to grab some signal that is emitted when the sort completes and
>> the view has been completely repopulated with sorted data. (Sort
>> indicator changed might not necessarily correspond to that.) My guess
>> would be modelReset. I *think* the way the sort filter proxy works is,
>> it tells the view, modelAboutToBeReset, then modelReset, which makes the
>> view repopulate itself by calling the data() method of the model.
> Seemed like a logical approach but doesn't work -- thanks anyway.
> I guess I will have to implement the sort myself and refresh the
> view. I'm rather surprised that Qt doesn't handle this rather
> simple scenario!
Oops -- re-sending to correct the subject ... a little list
etiquette: never reply to a "digest" message without fixing
the subject! ;)
More information about the PyQt