一、项目管理文件

后缀为“.pro”的文件是项目的管理文件,文件名就是项目的名称。
项目管理文件用于记录项目的一些设置,以及项目包含文件的组织管理。

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = samp2_1
TEMPLATE = app

SOURCES += \
    main.cpp \
    mainwindow.cpp

HEADERS += \
    mainwindow.h

FORMS += \
    mainwindow.ui

其中 QT += core gui 表示项目中加入core gui模块。core gui是Qt用于GUI设计的类库模块,如果创建的是控制台(Console)应用程序,就不需要添加core gui。
如果项目中使用涉及到数据库操作的类就需要用到sql模块,在pro文件中需要增加如下一行

QT       += sql

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets这个是条件执行语句,表示当Qt主版本大于4时,才加入widgets模块。
TARGET = samp2_1表示生成的目标可执行文件的名称,即编译后生成的可执行文件是samp2_1.exe。
TEMPLATE = app表示项目使用的模板是app,是一般的应用程序。
SOURCES、HEADERS、FORMS记录了项目中包含的源程序文件、头文件和窗体文件(.ui文件)的名称。

Qt pro文件常用配置项

配置项

含 义

QT

指定项目中用到的所有模块,默认值为 core 和 gui,中间用 += 符号连接。

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

如果 QT 版本大于 4(Qt5 或更高版本),则需要添加 widgets 模块,该模块包含所有控件类。

TARGET

指定程序成功运行后生成的可执行文件的名称,中间用 = 符号连接。

TEMPLATE

指定如何运行当前程序,默认值为 app,表示当前程序是一个应用程序,可以直接编译、运行。常用的值还有 lib,表示将当前程序编译成库文件。

DEFINES

在程序中新定义一个指定的宏,比如 DEFINES += xxx,如同在程序中添加了 #define xxx 语句。

SOURCES

指定项目中包含的所有 .cpp 源文件。

HEADERS

指定项目中包含的所有 .h 头文件。

FORMS

指定项目中包含的 ui 文件。

INCLUDEPATH

指定头文件的存储路径,例如:INCLUDEPATH += /opt/ros/include

CONFIG

经常对应的值有:release:以 release 模式编译程序;debug:以 debug 模式编译程序;warn_on:编译器输出尽可能多的警告;c++11:启动 C++11 标准支持。例如 CONFIG += c++11。

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