刚才创建项目时发现自动添加了几个文件,
项目管理文件 demo1.pro,存储项目设置的文件。
主程序入口文件 main.cpp,实现 main()函数的程序文件。
窗体界面文件 widget.ui,一个 XML 格式存储的窗体上的元件及 其布局的文件。
widget.h 是所设计的窗体类的头文件,
widget.cpp 是 widget.h 里 定义类的实现文件。
C++ 中,任何窗体或界面组件都是用类封装的,一个类一般有一个头文件(.h 文件)和一个源程序文件(.cpp 文件)。
1、Qt项目管理文件(.pro)
.pro就是工程文件(project),它是qmake自动生成的用于生产makefile的配置文件。下面这是一份简单的项目文件:
[1].注释:“#”。
[2].模板变量 TEMPLATE:模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择,共五个,比如:TEMPLATE = app
·app - 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。
·lib - 建立一个库的makefile。
·vcapp - 建立一个应用程序的Visual Studio项目文件。
·vclib - 建立一个库的Visual Studio项目文件。
·subdirs - 这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。
[3].指定生成的应用程序名:TARGET = demo1
[4].工程中包含的头文件
HEADERS += include/widget.h
[5].工程中包含的.ui设计文件
FORMS += forms/widget.ui
[6].工程中包含的源文件
SOURCES += sources/main.cpp sources/widget.cpp
[7].工程中包含的资源文件
RESOURCES += qrc/widget.qrc
[8].兼容性
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
这条语句的含义是,如果QT_MAJOR_VERSION大于4(也就是当前使用的Qt5及更高版本)需要增加widgets模块。如果项目仅需支持Qt5,也可以直接添加“QT += widgets”一句。不过为了保持代码兼容,最好还是按照QtCreator生成的语句编写。
[9].配置信息
CONFIG用来告诉qmake关于应用程序的配置信息。
CONFIG += c++11 //使用c++11的特性
在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。这样做比使用“=”那样替换已经指定的所有选项更安全。
[10].qmake操作符
- “=”操作符 分配一个值给一个变量
- “+=”操作符 向一个变量的值的列表中添加一个值
- “-=”操作符 从一个变量的值的列表中移去一个值
- “*=”操作符 仅仅在一个值不存在于一个变量的值的列表中的时候,把它添加进去
- “~=”操作符 替换任何与指定的值的正则表达式匹配的任何值 DEFINES ~= s/QT_[DT].+/QT
2.Qt项目中main函数
main() 函数是应用程序的入口。它的主要功能是创建应用程序,创建窗口,显示窗口,并运行应用程序,开始应用程序的消息循环和事件处理。