zoukankan      html  css  js  c++  java
  • 第5课 Qt Creator工程介绍

    1. QT Creator工程管理(一个工程包含不同类型的文件)

    (1).pro项目文件

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

    (3).h头文件

    (4).cpp源文件

    (5).ui界面描述文件

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

    2. .pro项目描述文件

    2.1 .pro项目描述文件的基本构成

    (1)#:注释起始符

    (2)QT:模块声明

    (3)TARGET:可执行文件名

    (4)TEMPLATE:程序模板声明

    (5)SOURCES:源码文件声明

    (6)HEADERS:头文件声明

    (7)FORMS:界面文件声明

    (8)RC_FILE:资源文件声明

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

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

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

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

    (4)DEFINES:定义编译宏

    2.3 pro文件的本质(qt中的makefile文件)

     

    2.3 CONFIG配置

    (1)CONFIG用于设定项目的配置信息和编译选项

    (2)CONFIG的常用选项

      ①debug:构建debug版本的可执行程序

      ②release:构建release版本的可执行程序

      ③debug_and_release:同时构建debug版和release版

      ④warn_on:尽可能多的输出警告信息

      ⑤warn_off:不输出警告信息

    (3)注意事项:

      ①CONFIG可以同时定义 debug 和 release,但只有一个处于active(当两个互斥的值出现时,最后设置的处于active状态)

      ②CONFIG(debug, debug|release)的含义:假设CONFIG += release debug release debug release debug。

        判断在这样一个debug和release互斥的CONFIG设置中,debug是否出现在最后一个。如果是,返回TRUE。

      ▲通常当qmake在处理.pro文件时,会被处理3遍,一遍为debug、一遍为release,最后一遍为debug_and_release

    【实例分析】.pro项目文件分析

    #-------------------------------------------------
    #
    # 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
    }

    3. 项目文件

    (1)一般来说,项目文件中的描述都是使用相对路径(相对于项目文件本身而言)

    (2)Qt Creator将项目文件作为目标文件

      ①Qt Creator在打开项目文件的同时会生成.pro.user文件

      ②.pro.user文件包含一些与Qt相关的本地配置信息,当需要在不同计算机之间移动项目源码时,建议删除.pro.user

    【编程实验】Qt Creator项目创建及分析

        创建项目→选择模板“Application”→“Qt Widgets Application”

    4. 小结

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

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

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

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

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

  • 相关阅读:
    ssh-keygen Linux 免密登录
    hostnamectl 修改 CentOS7 主机名
    微信公众平台开发—24点游戏
    微信公众平台开发—起步
    java的静态代理和动态代理(jdk、cglib)
    UEditor上传图片到七牛云储存(java)
    第四十篇-private,public,protected的区别
    第七篇--ubuntu18.04下面特殊符号
    6. 计算器界面
    第六篇--Ubuntu画图软件
  • 原文地址:https://www.cnblogs.com/5iedu/p/5423204.html
Copyright © 2011-2022 走看看