[Development] QVariant comparison in Qt6
Milian Wolff
mail at milianw.de
Wed Sep 23 15:59:16 CEST 2020
On Freitag, 18. September 2020 17:06:20 CEST Thiago Macieira wrote:
> On Friday, 18 September 2020 01:59:50 PDT Albert Astals Cid via Development
>
> wrote:
> > We have a few generic item models and proxy models that implement sorting,
> > they did so by using operator< of QVariant.
> >
> > I want a way to be able to do the same in Qt6 in a way that ideally
> > doesn't
> > involve having to copy the QAbstractItemModelPrivate::isVariantLessThan
> > code.
>
> Perform an unconditional conversion to string and sort that.
For large models of numerical data, this will completely nuke the performance.
Sure, QVariant-construction of integral data isn't free, but it's going to be
miles ahead of creating tons of temporary string representations.
> In a model, where you're likely to *display* the element, this is probably
> the right thing to do, as you don't want to explain to your users why your
> list shows items like
>
> 1
> 10
> 11
> 2
> 3
> 21
>
> A few of the above are strings and the others are numbers. It should always
> lexicographically sort or use numeric/natural sorting.
This wouldn't be an issue if you sort by the integral values instead.
> > Maybe making QAbstractItemModelPrivate::isVariantLessThan public and
> > clearly defining what it was would be good enough (i mean if it is good
> > enough for QAbstractItemModel it could be enough for most of the other
> > implementations).
>
> That's a good idea.
Agreed.
--
Milian Wolff
mail at milianw.de
http://milianw.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20200923/92172e44/attachment.sig>
More information about the Development
mailing list