实现

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;
}