QVariant
을 QStringList
안에 비교할 때 이상한 관찰이 있습니다.QStringList를 비교 한 QVariants
코드 :
QStringList l1, l2;
l1 << "";
l2 << "33" << "434";
const bool le = l1 < l2;
const bool ge = l1 > l2;
const bool eq = l1 == l2;
QVariant v1(l1), v2(l2);
const bool vle = v1 < v2;
const bool vge = v1 > v2;
const bool veq = v1 == v2;
내가 l1
내 비교 결과 (le
, ge
및 eq
)를 수정
vge
== true,
vle
및
veq
은 항상 거짓입니다.
문서에 따르면 작동한다고합니다. 어딘가 잘못되었거나 Qt 버그입니까? Qt5.7을 사용하고 있습니다.
나는이 문제에 대한 버그 리포트를 작성했습니다
편집 : https://bugreports.qt.io/browse/QTBUG-54893
내가, 당신이 QVariants 간의 합리적인 비교를 기 대해서는 안 말을하지만, 어쨌든 강력하게 버그라고 생각합니다. 구현 : cf : https://code.woboq.org/qt5/qtbase/src/corelib/kernel/qvariant.cpp.html#_ZNK8QVariant7compareERKS_ – peppe