赞
踩
在Qt开发中,可能会有这样的需求,需要根据Qt版本来决定加载不同的库,或者定义宏、添加不同的文件等等,那这就需要在工程文件中对当前Qt版本进行判断了。
最基础的需求,查看当前Qt版本,可以使用命令 $$[QT_VERSION]
输出,
比如:
message(Qt Version = $$[QT_VERSION] )
所谓的大版本就是版本号第一位, 比如Qt4或者Qt5,这个很简单,比如我们要判断版本是否大于Qt4,可以使用:
greaterThan(QT_MAJOR_VERSION, 4): xxxx
备注:xxxx是你要做的事情。
那么,判断版本是否小于Qt5,可以使用:
lessThan(QT_MAJOR_VERSION, 5): xxxx
当然,以上更简单的写法可以是:
greaterThan(QT_MAJOR_VERSION, 4){
message(当前为Qt5及以上版本)
}
else{
message(当前为Qt5以下版本)
}
版本号第二位,比如说要判断Qt版本是5.6 还是 5.9,或者是否大于Qt5.6 等等。这种判断就需要对版本号第二位进行,可以使用以下方法:
#check Qt version
QT_VERSION = $$[QT_VERSION]
QT_VERSION = $$split(QT_VERSION, ".")
QT_VER_MAJ = $$member(QT_VERSION, 0)
QT_VER_MIN = $$member(QT_VERSION, 1)
lessThan(QT_VER_MAJ, 5) | lessThan(QT_VER_MIN, 6) {
message(Qt版本小于5.6)
}
else{
message(Qt版本大于或等于5.6)
}
判断版本号等于多少,可以使用:
equals(QT_VER_MAJ ,5) | equals(QT_VER_MIN ,6) {
message(Qt版本等于5.6)
}
版本号第三位就比如 Qt 5.6.3 中的 3,判断这一位和上面其实差不多,在基础上添加一句就行了:
#check Qt version
QT_VERSION = $$[QT_VERSION]
QT_VERSION = $$split(QT_VERSION, ".")
QT_VER_MAJ = $$member(QT_VERSION, 0)
QT_VER_MIN = $$member(QT_VERSION, 1)
QT_VER_THR = $$member(QT_VERSION, 2)
其中QT_VER_THR
就是第三位的值了,再根据上面的判断方法来就行啦。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。