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工程文件Pro中判断Qt版本号相关推荐
- 解决qt工程文件.pro配置、LIBS添加、ld.so.conf文件添加、库文件权限设置等一系列问题
对于Linux小白来说,使用Qt+官方提供的库和demo获取摄像头数据流居然都会到处碰壁,捯饬了一天才搞定,现在记录下所有的过程. 在大华官网下载的.run,安装挺顺利,由于版本问题,还卸载了两次,一 ...
- Qt中使用的工程文件(.pro文件)
第一种常用方式: #模块设置,一般设置为app(生成应用程序,默认),subdirs(生成makefile文件编译subdirs指定的子文件夹),lib(生成库文件) TEMPLATE = app # ...
- QT工程的pro文件详解
文章目录 QT工程的pro文件解析 简单的Pro文件示例 PRO文件基本配置选项 添加配置选项 常用的配置编译选项 QMAKE 变量操作简介 pro文件引入FFmpeg第三方库 为了在QT工程中添加第 ...
- Qt翻译文件ts中type理解
QT翻译xxx.ts文件中type属性作用 以英文翻译为例,这里我的英文翻译文件为lan_English.ts. 在ts文件中,我们可以看到 中,type有如下几种属性: type="unf ...
- Blender图解教程:如何把外部图片打包到工程文件(*.blend)中
Blender 2.8x版 有时候我们打开了一张外部图片为角色贴图,贴完图我们把保存的*.blend文件拷贝到另一台电脑上,发现贴图不见了.原因是,实际上我们在原电脑上的贴图只是引用了那个图片地址,而 ...
- qmake language qt 工程文件 配置文件 .pro .prl .prf .pri 词法 语法 for循环 判断语句 函数定义
目录 词法 string 1.数据类型 2.特殊处理的内置变量 3.转义字符 关键字:包括语法关键字.特殊变量 语法 变量 变量.属性.环境变量 变量使用 全局变量作用域 函数定义和使用 判断语句和循 ...
- Qt的工程文件(.pro) -- 转
Qt 工程 pro文件 工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下.于此备录,分享共勉. 为了更好的理解,先创建一个简单的工程作为实践. [1]创建一个pro文件 1.1 新建pro ...
- Qt工程文件(二)--pro文件详解
PRO文件基本配置选项 QT:指定工程所要使用的Qt模块 VERSION:指定目标库版本号 TARGET:指定编译后生成的目标文件名称 TEMPLATE:指定编译的工程类型 A> app -建立 ...
- 在Qt工程文件中根据不同版本号使用不同源码
众所周知,qmake里是不提供 #if (QT_VERSION >= QT_VERSION_CHECK(4, 5, 0)) // - #endif 这种语法的 qmake的语法是 条件{ -执行 ...
最新文章
- tf_geometric的安装
- C#连接池的详细分析(转)
- 1997年投稿,2021年发表!收到录用信那一刻,我即将退休……
- java语言概述、java语言特性、java语言发展史、java语言作用
- centos7源码安装mysql8.0_CentOS7下源码安装MySQL 8.x
- 深入剖析Linux IO原理和几种零拷贝机制的实现
- Linux DNS 服务配置 (非常详细)
- 任务之间的依赖(NSOperation)
- 【读书笔记《Android游戏编程之从零开始》】4.Android 游戏开发常用的系统控件(EditText、CheckBox、Radiobutton)
- 科沃斯扫地机器人电路原理图_科沃斯扫地机器人不工作故障维修(CEN550)
- 射频电路的原理及应用
- 机器人端的图形界面ssh远程显示方案
- 启发式搜索解决八数码难题
- linux学习shell基础
- python添加图片要怎么弄_python怎么实现添加图片
- 人类一败涂地做图教程_人类一败涂地地图制作教程 创意工坊自制地图方法
- 程序编辑,程序编译,程序连接。
- uva11689 Soda Surpler
- 计算机网络的安全性在哪里,计算机网络面临的安全性威胁可分为哪两类分别包含..._安全工程师_帮考网...
- pes时处理PTS和DTS的方法