<div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">I use Qt/PyQt 5.7, the standard distribution supplied for Ubuntu 18.04.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">I have a <span style="font-family:monospace,monospace">QSortFilterProxyModel</span> wrapped around a <span style="font-family:monospace,monospace">QStandardItemModel</span> as its source model.  I try to use <span style="font-family:monospace,monospace">QSortFilterProxyModel::sort()</span> to sort by column values.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">I have a column of Python type <span style="font-family:monospace,monospace">datetime.date</span>.  When I call the <span style="font-family:monospace,monospace">sort()</span>, there is no "warning" but <i>nothing happens</i>.  The sort does not rearrange the items at all.  They are initially "randomly" ordered in rows, and the rows simply retain their current order.  It does <i>not</i> even reorder by string value.  It is as though it simply decides they are "unorderable".</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">When I sort instead by a Python <span style="font-family:monospace,monospace">str</span> column they <i>do</i> get reordered.  FWIW, I have another column of Python type <span style="font-family:monospace,monospace">decimal.Decimal</span> and sorting by that too does nothing, even though I think that should be convertible to <span style="font-family:monospace,monospace">float</span>/<span style="font-family:monospace,monospace">double</span>.  However, that may complicate matters so let's stick to the <span style="font-family:monospace,monospace">datetime.date</span> case, I am just mentioning it in case it's relevant.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">It took me a long time to realise where the problem lies.  I have a workaround: I <i>explicitly</i> change all my values in the model from <span style="font-family:monospace,monospace">datetime.date</span> to <span style="font-family:monospace,monospace">QDate(value)</span> and now it does sort.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">But my understanding/experience from other PyQt methods is that it does this kind of Python type -> <span style="font-family:monospace,monospace">QVariant</span> conversion for you behind the scenes itself.  I shouldn't have to change my types or write special code.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Is this a bug?  Is this in my PyQt 5.7 only?</div><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><span style="font-family:tahoma,sans-serif">Kindest,</span></div><div><span style="font-family:tahoma,sans-serif">Jonathan</span></div></div></div></div></div></div></div></div>