• 第五课、Qt Creator 工程介绍------------------狄泰软件学院


    一、Qt Creator 的管理方式

    1、Qt Creator以工程项目的方式对源码进行管理

    2、一个Qt Creator工程包含不同类型的文件

    (1)、 .pro 项目描述文件

    (2)、 .pro.user用户配置文件

    (3)、 .h头文件

    (4)、 .cpp 源文件

    (5)、.ui 界面描述文件

    (6)、资源文件(图片、音频等)

    二、关于 .pro项目描述文件

    1、.pro项目描述文件的基本组成

    (1)、# : 注释起始符

    (2)、QT : 模块声明

    (3)、TARGET : 可执行文件名

    (4)、TEMPLATE : 程序模板声明

    (5)、SOURCES : 源码文件声明

    (6)、HEADERS : 头文件声明

    (7)、FORMS : 界面文件声明

    (8)、RC_FILE : 资源文件声明

    2、.pro项目描述文件中的高级变量

    (1)、INCLUDEPATH : 头文件搜索路径

    (2)、CONFIG : 设定项目的配置信息和编译选项

    (3)、LIBS : 添加第三方库文件

    (4)、DEFINES : 定义编译宏

    3、CONFIG : 设定项目的配置信息和编译选项的常用选项

    (1)、debug : 构建debug版的可执行程序

    (2)、release: 构建release版的可执行程序

    (3)、debug and release : 同时构建debug和release版

    (4)、warn_on : 尽可能多地输出警告信息

    (5)、warn_off :不输出警告信息

    4、.pro项目文件的本质:Qt中与平台无关的Makefile文件

    #-------------------------------------------------
    #
    # Name:  Qt Creator Project Demo
    # Author:Santa Claus 
    # Date:  2016-04-22
    #
    #-------------------------------------------------
    
    QT += core gui  //表示项目需要QtGui和Qtcore两个模块,Qt默认包含这两个模块
                    //还可以添加的模块有:widgets、network、xml、quick、multimedia、SQL、
                    //webkit等,可以参考QtSDK(在Assistant的索引模式中,输入"variables"
                    //找到变量“QT”,并点击相应的链接进去)
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets  //当Qt5之前,没有独立的QtWidgets模块
                                                     //从Qt5之后,QtWidgets从QtGui模块中分离出来了
    
    TARGET = HelloWorld   //目标文件名,一般与项目文件名一样
    TEMPLATE = app        //用来设定项目的构建类型,如果没有设置,会按默认“应用”来构建项目,主要模板:
                          //1. app:默认的模板,qmake会生成一个构建应用的Makefile
                          //2. lib:库,构建动态库或静态库的Makefile
                          //3. subdirs:子目录项目,qmake会根据SUBDIRS变量生成一个Makefile,该Makefile
                          //            包含构建子目录的逻辑,子目录内必须有pro文件存在
                          //4. vcapp: 生成一个Visual Studio的项目文件(.vcproj)可供VS使用
                          //5. vclib:生成一个VS的动态库或静态库
                          //6. vcsubdirs,会生成一个Vs的解决方案文件(.sln),里面包含每个子目录对应的
                          //              项目文件(.vcproj),可以用VS打开这个解决方案
    
    INCLUDEPATH += E:/BCC/include      //INCLUDEPATH:指定第3方库的头文件目录,使用相对路径时是从这个.pro
                   E:/VC/include        //             文件本身所在目录开始的。
    
    SOURCES += Main.cpp                //SOURCES变量:用来指定项目所包含的源文件,多个源文件用空格隔开,
               HelloWorld.cpp           //             如果一行写不下,可以“”来换行
    
    HEADERS += HelloWorld.h             //指定头文件,多个头文件之间用空格隔开
    
    FORMS   += HelloWorld.ui            //FORMS:用来设置要用到的界面文件
    
    RC_FILE += MyIco.rc                 //RC_FILE:用来设置要用到的资源文件
    
    LIBS    += -LE:/MyLib/lib -lmath    //LIBS:第3方的库文件(不是头文件)
                                        //      其中,-L前缀表示一个库目录,如E:/MyLib/lib
                                        //            -l(小写l)指定一个具体的库,如math
                                        //       
    
    CONFIG  += warn_on debug            //CONFIG:配置信息,此处表示尽可能详尽警告信息,同时构建Debug版
                                        //1. qt:默认配置包含这个配置,可以用CONFIG -= qt去掉
                                        //2. release: 构建release版本
                                        //3. debug:  构建debug版本
                                        //4. debug_and_release:同时构建release和debug版。debug、release
                                        //                      debug_and_release这几个选项,哪个是最后
                                        //                      一个配置,就使用哪个
                                        //5. warn_on和warn_off:打开或关闭警告信息
    
    #
    # if 'debug' option is set for CONFIG
    #
    CONFIG(debug) {                     //判断是否debug版
        DEFINES += DEBUG_LOG           
        SOURCES += DebugLog.cpp
        HEADERS += DebugLog.h
    }

    三、项目文件

    1、一般来说,项目文件的描述都使用相对路径

    2、而相对路径是相对于项目文件本身而言

    3、Qt Creator 将项目文件作为目标文件

    4、注意

    (1)、Qt Creator 在打开项目文件时会同时生成.pro.user文件

    (2)、.pro.user文件包含一些与Qt相关的本地配置信息

    (3)、当需要在不同计算机之间移动项目源码时,建议删除.pro.user文件

    四、一些工程中的概念

    1、构建(build)

     (1)、对项目中的所有文件进行编译,最终生成可执行程序

    2、Debug版

    (1)、可以进行调试的构建版本

    (2)、可执行程序中包含调试信息运行效率不高

    3、Release版

    (1)、最终发布的应用程序构造版本

    (2)、无调试信息,运行效率高

    五、小结

    (1)、Qt Creator以工程项目的方式对源码进行管理

    (2)、一个Qt Creator工程包含不同类型的文件

    (3)、.pro文件用于配置和组织整个项目的相关信息

    (4)、.pro 是Qt中与平台无关的Makefile文件

    (5)、Qt Creator 提供了开发所必备的快捷高效的功能

  • 相关阅读:
    mysql 更改字符集
    修改pip源
    git命令
    virtualwrapper使用
    Python环境搭建
    IntellIJ IDEA 配置 Maven 以及 修改 默认 Repository
    Spring4:JDBC
    Spring3:AOP
    Spring2:bean的使用
    Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse
  • 原文地址:https://www.cnblogs.com/gui-lin/p/6386088.html
Copyright © 2020-2023  润新知