[QT学习笔记] 2.项目管理文件(*.pro)

新建项目

  • 默认选项新建项目后,自动生成NewProj.pro文件
    在这里插入图片描述

代码结构解析

基本语法

  • 使用#号,作单行注释。

  • =你可以把等号左边的类型理解为变量,等号右边的理解为值。

  • +=你可以把左边的理解为变量列表,右边的为需要加到列表中的值。

  • \ 可以分行书写,但仍为一行。

完整代码

QT       += core gui   

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    main.cpp \
    mainwindow.cpp

HEADERS += \
    mainwindow.h

FORMS += \
    mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

逐行解析

⇩ 第1行,为Qt 类库以模块的形式组织各种功能的类,根据项目涉及的功能需求,在项目中添加适当的类库模块支持。

QT       += core gui   

上述表示项目中加入 core gui 模块,core是核心gui是 GUI 设计模块,控制台程序可以不加
也可根据需求添加其他的类库模块,如sql数据库模块,qchart图表模块
比如:

QT       += core gui   sql  charts

⇩ 第2行,条件执行语句,表示当 Qt 主版本大于 4 时,才加入 widgets 模块。

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

⇩ 指定编译器选项和项目配置,值由qmake内部识别并具有特殊意义。

CONFIG += c++11

以下配置值控制编译标志:

选项说明
release项目以release模式构建。如果也指定了debug,那么最后一个生效。
debug项目以debug模式构建。
debug_and_release项目准备以debug和release两种模式构建。
debug_and_release_target此选项默认设置。如果也指定了debug_and_release,最终的debug和release构建在不同的目录。
build_all如果指定了debug_and_release,默认情况下,该项目会构建为debug和release模式。
autogen_precompile_source自动生成一个.cpp文件,包含在.pro中指定的预编译头文件。
ordered使用subdirs模板时,此选项指定应该按照目录列表的顺序处理它们。
precompile_header可以在项目中使用预编译头文件的支持。
warn_on编译器应该输出尽可能多的警告。如果也指定了warn_off,最后一个生效。
warn_off编译器应该输出尽可能少的警告。
exceptions启用异常支持。默认设置。
exceptions_off禁用异常支持。
rtti启用RTTI支持。默认情况下,使用编译器默认。
rtti_off禁用RTTI支持。默认情况下,使用编译器默认。
stl启用STL支持。默认情况下,使用编译器默认。
stl_off禁用STL支持。默认情况下,使用编译器默认。
thread启用线程支持。当CONFIG包括qt时启用,这是缺省设置。
c++11启用c++11支持。如果编译器不支持c++11这个选项,没有影响。默认情况下,支持是禁用的。
c++14启用c++14支持。如果编译器不支持c++14这个选项,没有影响。默认情况下,支持是禁用的。

⇩ 定义编译选项。QT_DEPRECATED_WARNINGS表示当Qt的某些功能被标记为过时的,那么编译器会发出警告。

DEFINES += QT_DEPRECATED_WARNINGS

⇩ 关联源文件。

SOURCES += \
    main.cpp \
    mainwindow.cpp

⇩ 关联头文件。

HEADERS += \
    mainwindow.h

⇩ 关联UI文件。

FORMS += \
    mainwindow.ui

⇩ 默认部署设置

qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值