兼容Qt4/Qt5版本的QML例程

本篇文章介绍兼容Qt4与Qt5版本的Qml简单例程。由于Qt4与Qt5版本的qml文件不能使用宏来区分,所以使用qmake执行脚本来修改qml版本差异代码。(末尾源代码地址)

qml文件转换

  • 下列代码是项目文件代码,会在编译之前执行;
  • 主要作用为识别Qt版本然后替换对应qml文件中的import QtQuick 1.ximport QtQuick 2.x;
equals(QT_MAJOR_VERSION, 4) {
    equals(QT_MINOR_VERSION, 7): QT_QUICK_VERSION = 1.0
    equals(QT_MINOR_VERSION, 8): QT_QUICK_VERSION = 1.1
}

equals(QT_MAJOR_VERSION, 5): QT_QUICK_VERSION = 2.$${QT_MINOR_VERSION}

macx {
    !isEmpty(QT_QUICK_VERSION): 
    QtQuickVersion.commands += 
    "grep -rl 'QtQuick [0-9]\\.[0-9]' $$PWD/ | xargs sed -i '' 's/QtQuick [0-9]\\.[0-9]/QtQuick $${QT_QUICK_VERSION}/g';"
}

unix:!macx {
    !isEmpty(QT_QUICK_VERSI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值