QT QVersionNumber 比较版本号大小

软件升级经常需要对升级包的版本与当前版本进行比较,如果升级包的版本大于当前版本才允许进行升级。一般而言,都是拆分字符串,然后逐个比较字符大小来判断软件版本的大小。但如果你使用的是QT环境,那么可以通过 QVersionNumber 来简化这一过程。

cpp 复制代码
#include <QApplication>
#include <QVersionNumber>
#include <QDebug>


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QVersionNumber preVersion = QVersionNumber::fromString("1.0.5.31");
    QVersionNumber curVersion = QVersionNumber::fromString("1.0.5.32");
    
    QString verPrev = preVersion.toString();
    QString verCurr = curVersion.toString();
    qDebug() << "verPrev=" << verPrev;
    qDebug() << "verCurr=" << verCurr;

    if(preVersion < curVersion){
        qDebug() << "preVersion is less than curVersion";
    }
    else if(preVersion == curVersion){
        qDebug() << "preVersion is equal to curVersion";
    }
    else{
        qDebug() << "curVersion is less than preVersion";
    }

    return a.exec();
}
相关推荐
Quz19 小时前
QML 信号与槽:直接绑定与跨文件通信
qt·编程语言·设计
GIS阵地20 小时前
QgsSingleBandPseudoColorRenderer 完整详解(QGIS 3.40.13 C++)
开发语言·前端·c++·qt·qgis
丰锋ff1 天前
1.2 Qt常用基础类型
开发语言·qt
nianniannnn1 天前
Qt QMessageBox知识点
开发语言·数据库·qt
J_yyy1 天前
【Qt核心组件类框架】
开发语言·qt
Drone_xjw1 天前
双网卡下Qt程序数据包“乱飞”之谜:为什么必须断开再连接
开发语言·qt
Quz1 天前
QML 网格与流式布局:Grid/GridLayout 与 Flow
qt
qq_401700411 天前
Qt容器性能优化:QVector、QHash、QMap到底应该怎么选?
开发语言·qt·性能优化
Quz1 天前
QML 线性布局:Row/RowLayout 与 Column/ColumnLayout
前端·qt
imatt2 天前
Qt Creator 在Windows下编译信息乱码
windows·qt