Qt工程文件Pro中判断Qt版本号

需求

在Qt开发中,可能会有这样的需求,需要根据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 就是第三位的值了,再根据上面的判断方法来就行啦。

你可能感兴趣的:(Qt)