QT .pro文件的实现

 更新时间:2023年01月15日 08:51:00   作者:阿润菜菜  
本文主要介绍了QT .pro文件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

 .pro 文件是什么

.pro就是工程文件(project),它是qmake自动生成的用于生产makefile的配置文件。类似于VS中的.sln 和vsproj文件

默认情况下,每个 Qt 项目都包含一个后缀名为.pro、名称和项目名相同的文件。如该项目的项目名为Dashboard,其中Dashboard.pro 就是项目管理文件。

一个项目中可能包含上百个源文件,Qt 编译这些源文件的方法是:先由 qmake 工具根据 pro 文件记录的配置信息生成相应的 makefile 文件,然后执行 make 命令完成对整个项目的编译。也就是说,pro 文件存储的配置信息是用来告知编译器如何编译当前项目的,所以一个 Qt 项目要想完美运行,既要保证各个源文件中程序的正确性,还要保证 pro 文件中配置信息的合理性。

任何一个 Qt 项目都至少包含一个 pro 文件,此文件负责存储与当前项目有关的配置信息,比如:

  • 项目中用到了哪些模块?
  • 项目中包含哪些源文件,哪些头文件,它们的存储路径是什么?
  • 项目使用哪个图片作为应用程序的图标?
  • 项目最终生成的可执行文件的名称是什么?

对于一个刚刚创建好的 Qt 项目,pro 文件并不是空的,而是包含一些基本的配置信息。实际开发中,Qt 会自动修改 pro 文件的内容,但有时也需要我们手动修改,例如程序中用到某个第三方库时,就需要我们手动修改 pro 文件。 

 .pro文件的配置信息

.pro 文件可以存储上百条配置信息,每条配置信息由三部分构成:

  • 前半部分是关键字,也称配置项,用来指明配置信息的含义;
  • 中间用 +=、-=、= 等数学符号连接配置项和它对应的值;
  • 后半部分是配置项对应的值,一个配置项可以对应多个值,每个值代表不同的含义。

 注释 :使用‘#’进行注释,范围到每行结束

模块引入: QT += 模块名,表示当前项目引入Qt哪些模块。默认值为 core 和 gui

所谓模块,可以简单地理解为文件夹或者压缩包,内部包含多个功能相近的类。作为一款成熟的 GUI 框架,Qt 提供了大量的类,根据这些类的功能,Qt 将它们分成了几个组,每个组称为一个模块。打开 Qt Creator 的帮助界面并搜索“All modules”,可以看到 Qt 的所有模块。

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets :  如果QT_MAJOR_VERSION大于4(也就是当前使用的Qt5及更高版本)需要增加widgets模块。如果项目仅需支持Qt5,也可以直接添加“QT += widgets”一句。
配置信息:CONFIG用来告诉qmake关于应用程序的配置信息 。如 CONFIG += c++11:启动 C++11 标准支持。(qt5.6以上版本默认使用C++11)
TARGET:指定生成的应用程序名,中间用 = 符号连接。
HEADERS:指定项目中包含的所有 .h 头文件
FORMS:指定项目中包含的 .ui 设计文件
SOURCES:指定项目中包含的所有 .cpp 源文件
RESOURCES指定项目中包含的资源文件

pro文件大部分配置项不需要我们手动修改,比如 SOURCES、HEADERS、FORMS 等,当我们添加或者删除项目中的源文件时,Qt 会自动修改这些配置项。

附:Qtcreator常用快捷键 

运行  ctrl +R
编译  ctrl +B
帮助文档  F1 ,点击F1两次跳到帮助界面

跳到符号定义 F2 或者 Ctrl + 鼠标点击

注释 ctrl+/

字体缩放  ctrl + 鼠标滚轮
整行移动代码 ctrl + shift + ↑或↓

自动对齐   ctrl + i
同名之间的.h和.cpp文件跳转 F4

声明函数实现:alt键

 到此这篇关于QT .pro文件的实现的文章就介绍到这了,更多相关QT .pro文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • C语言数字图像处理之图像缩放

    C语言数字图像处理之图像缩放

    这篇文章主要为大家详细介绍了C语言数字图像处理之图像缩放,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • c++ map索引不存在的key可能导致的后果分析

    c++ map索引不存在的key可能导致的后果分析

    这篇文章主要介绍了c++ map索引不存在的key可能导致的后果分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • C/C++ 浅拷贝和深拷贝的实例详解

    C/C++ 浅拷贝和深拷贝的实例详解

    这篇文章主要介绍了C/C++ 浅拷贝和深拷贝的实例详解的相关资料,帮助大家理解这部分知识提供了基础知识及实例,需要的朋友可以参考下
    2017-08-08
  • linux下C/C++学生信息管理系统

    linux下C/C++学生信息管理系统

    这篇文章主要为大家详细介绍了linux下c/c++学生信息管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 一篇文章彻底搞懂C++常见容器

    一篇文章彻底搞懂C++常见容器

    容器就是一些特定类型对象的集合,容器可以分为顺序容器和关联容器,下面这篇文章主要给大家介绍了关于C++常见容器的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 深入理解卡特兰数及其应用

    深入理解卡特兰数及其应用

    本篇文章是对卡特兰数及其应用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C语言中的结构体的入门学习教程

    C语言中的结构体的入门学习教程

    这篇文章主要介绍了C语言中的结构体的入门学习教程,以struct语句定义的结构体是C语言编程中的重要基础,需要的朋友可以参考下
    2015-12-12
  • C语言 结构体(Struct)详解及示例代码

    C语言 结构体(Struct)详解及示例代码

    本文主要介绍C语言 结构体的知识,学习C语言肯定需要学习结构体,这里详细说明了结构体并附示例代码,供大家参考学习,有需要的小伙伴可以参考下
    2016-08-08
  • C++文件读写操作详解

    C++文件读写操作详解

    本文详细讲解了C++读写文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • c/c++获取系统时间函数的方法示例

    c/c++获取系统时间函数的方法示例

    这篇文章主要介绍了c/c++获取系统时间函数的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论