购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 Qt项目文件

Qt Creator以工程项目的方式对源代码进行管理,那么Qt项目文件里面具体有什么内容呢?

Qt项目包含不同类型的文件,介绍如下。

.pro:项目描述文件,里面包含一些项目的描述信息,后面会进一步介绍。其本质就是Qt中的makefile文件。

.pro.user:用户配置描述文件,这个文件是每个Qt项目自动产生的,每个用户的配置环境都不一样,所产生的配置描述文件也不一样,因此在进行跨平台开发的时候,必须删除这个文件,以免出现一些未知的错误。

.h:头文件,项目所需的头文件。

.cpp:源文件,项目所需的源文件。

.ui:界面描述文件,描述界面的相关信息。

资源文件:程序中用到的图片、音频等文件。

Qt项目中有两个重要的文件:一个是源文件(main.cpp),该文件内容是项目主要的代码;一个是项目描述文件,用于对项目进行配置管理。下面来看一下这两个文件的主要内容。

1.main.cpp文件

main.cpp文件中包含了最重要的main()入口函数,函数形式如下。

1  #include "widget.h"
2  #include <QApplication>
3
4  int main(int argc, char *argv[])
5  {
6      QApplication a(argc, argv); 
7      Widget w;
8       w.show();
9
10  return a.exec();
11
12  }

上述代码具体解释如下。

Qt系统提供的标准类名声明头文件没有扩展名.h,Qt中一个类对应一个头文件,类名就是头文件名。QApplication表示应用程序类,管理GUI应用程序的控制流和主要设置。它是Qt整个后台管理的“命脉”,包含主事件循环,完成来自窗口系统和其他资源的所有事件的处理和调度,也处理应用程序的初始化和结束,并且提供对话管理。

任何一个使用Qt的GUI应用程序都存在一个QApplication对象,且不论这个应用程序在同一时间内是不是有窗口或有多个窗口。

第6行代码创建了一个Qt的QApplication对象a,第7行代码创建了一个窗体对象w,第8行代码显示该窗体。

在第10行代码中,a.exec()表示进入消息循环,等待对用户输入进行响应。这里main()把控制权转交给Qt,Qt完成事件处理工作,当应用程序退出的时候,exec()的值就会返回。在exec()中,Qt接受并处理用户和系统的事件并把它们传递给适当的窗口部件。

2.项目描述文件

.pro文件就是项目(Project)文件,是qmake自动生成的用于生成makefile的配置文件。使用Qt向导生成的应用程序.pro文件格式如下。

#项目描述文件
QT += core gui                      //包含的库
greaterThan(QT_MAJOR_VERSION,4): QT += widgets //高于Qt 4版本才包含widget模块
TARGET = QtFirst                    //应用程序名,生成的程序名称
TEMPLATE = app                      //模板类型,应用程序模板
SOURCES += main.cpp\                //源文件
         mywidget.cpp
HEADERS  += mywidget.h              //头文件
CONFIG += c++11

.pro文件的详细解释如下。

(1)“#”开头的行为注释内容。

(2)QT +=core gui表示使用core和gui库,其实这也是Qt的默认设置。

(3)greaterThan(QT_MAJOR_VERSION,4):QT += widgets这条语句表示:如果QT_MAJOR_VERSION高于4(也就是当前使用的是Qt 5或更高版本)需要增加widget模块。如果项目仅需支持Qt 5,也可以直接添加“QT += widgets”一句。不过为了保持代码兼容,最好还是按照Qt Creator生成的语句编写。

(4)TARGET = QtFirst表示指定生成的应用程序名,并建立一个该应用程序的makefile。如果模板没有被指定,将使用默认值。QtFirst模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的模板。

Lib:建立一个库的makefile。

vcapp:建立一个应用程序的VisualStudio项目文件。

vclib:建立一个库的VisualStudio项目文件。

subdirs:这是一个特殊的模板,可以创建一个能够进入特定目录,为一个项目文件生成makefile,并且为它调用make的makefile。

(5)项目中包含的源文件:

SOURCES += main.cpp            
         mywidget.cpp

(6)项目中包含的头文件:

HEADERS += mywidget.h

(7)配置信息,CONFIG用来告诉qmake关于应用程序的配置信息。

CONFIG += c++11 //使用c++11的特性

在这里使用“+=”,是因为要将配置选项添加到每一个已经存在的文件中。这样比使用“=”替换已经指定的所有选项更安全。 8MX5rpEC5VizqREvbRghfCEc5z5myy5LQLCZEjGCNU/feJzEkBKXSPz4GsirtrR9

点击中间区域
呼出菜单
上一章
目录
下一章
×