1 2 3 4 5 6 7 8 9 10 11 12
| bool compareVersion(QString ver1, QString ver2) { QStringList list1 = ver1.replace(QRegExp("[a-zA-Z() ]"), "").split("."); QStringList list2 = ver2.replace(QRegExp("[a-zA-Z() ]"), "").split("."); if (list1.size() == 3 && list2.size() == 3) { qint32 ver1 = (list1.at(0).toInt() << 16) | (list1.at(1).toInt() << 8) | list1.at(2).toInt(); qint32 ver2 = (list2.at(0).toInt() << 16) | (list2.at(1).toInt() << 8) | list2.at(2).toInt(); return ver2 > ver1; } return false; }
|