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();
}
相关推荐
Quz9 小时前
QML TextField 应用:自动关联与表单提交
qt
sycmancia11 小时前
Qt——自定义控件温度计
开发语言·qt
艾莉丝努力练剑12 小时前
【Qt:问题解决】Qt程序入口点错误修复:MinGW ABI兼容问题
java·服务器·开发语言·qt·文件系统·动静态库
邱邱玩编程1 天前
读取位置 0x0000000000000000 时发生访问冲突 | QT | MFC
c++·qt·visualstudio
我是小灰灰吖1 天前
QT在线安装器使用指南:从下载到配置完整教程
linux·qt·ubuntu
C++ 老炮儿的技术栈1 天前
从 Qt Designer 属性编辑器的层级可以看到继承链
c语言·数据库·c++·qt·sqlite·visual studio
我是小灰灰吖1 天前
Ubuntu 22.04 + Qt 6.9.3 应用程序打包与部署完整指南
qt·ubuntu
qq_401700411 天前
Qt自定义信号槽详解:带参发射 vs sender()获取,两种多信号关联方案全掌握
java·数据库·qt
郝学胜-神的一滴1 天前
Qt 高级编程 042:进度条从入门到自定义美化
开发语言·c++·qt·软件开发·用户界面
AI的探索之旅1 天前
嵌入式视觉学习路线:Qt + OpenCV + 工业相机,从零到综合项目
qt·opencv·学习