http://c.biancheng.net/view/1819.html

Qt Creator 中新建一个 Widget Application 项目 samp2_1,在选择窗口基类的页面选择 QWidget 作为窗体基类,并选中“Generate form”复选框。创建后的项目文件目录树如图 1 所示。


图 1 项目文件的目录树

这个项目包含以下一些文件:

  • 项目管理文件 samp2_1.pro,存储项目设置的文件。
  • 主程序入口文件 main.cpp,实现 main()函数的程序文件。
  • 窗体界面文件 widget.ui,一个 XML 格式存储的窗体上的元件及 其布局的文件。
  • widget.h 是所设计的窗体类的头文件,widget.cpp 是 widget.h 里 定义类的实现文件。C++ 中,任何窗体或界面组件都是用类封装的,一个类一般有一个头文件(.h 文件)和一个源程序文件(.cpp 文件)。

本节先来介绍一下项目管理文件(.pro文件)。

后缀为“.pro”的文件是项目的管理文件,文件名就是项目的名称,如本项目中的 samp2_1.pro。 下面是 samp2_1.pro 文件的内容。

QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = samp2_1
TEMPLATE = app
SOURCES += \
main.cpp \
widget.cpp
HEADERS += \
widget.h
FORMS += \
widget.ui

项目管理文件用于记录项目的一些设置,以及项目包含文件的组织管理。

“Qt += core gui”表示项目中加入 core gui 模块。core gui 是 Qt 用于 GUI 设计的类库模块,如果创建的是控制台(Console)应用程序,就不需要添加 core gui。

Qt 类库以模块的形式组织各种功能的类,根据项目涉及的功能需求,在项目中添加适当的类库模块支持。例如,如果项目中使用到了涉及数据库操作的类就需要用到 sql 模块,在 pro 文件中需要增加如下一行:

Qt +=sql

samp2_1.pro 中的第 2 行是:

greaterThan(Qt_MAJOR_VERSION, 4): Qt += widgets

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

“TARGET = samp2_1”表示生成的目标可执行文件的名称,即编译后生成的可执行文件是 samp2_1.exe。

“TEMPLATE = app”表示项目使用的模板是 app,是一般的应用程序。

后面的 SOURCES、HEADERS、FORMS 记录了项目中包含的源程序文件、头文件和窗体文件(.ui 文件)的名称。这些文件列表是 Qt
Creator
自动添加到项目管理文件里面的,用户不需要手动修改。当添加一个文件到项目,或从项目里删除一个文件时,项目管理文件里的条目会自动修改。

CONFIG += c++11

C++版本

最新文章

  1. webservices接口 file "/axis2-web/listsingleservice.jsp" not found 问题解决
  2. intellij idea 插件 ideaVim 用法
  3. regsvr32的使用
  4. linux命令:locate
  5. xml json protobuf
  6. 阮一峰:RSA算法原理(一)
  7. Android操作联系人 android开发教程
  8. Workspace in use or cannot be created, choose a different one.--错误解决办法
  9. [转]Delphi中进行延时的4种方法
  10. Java回调机制解读
  11. Android后台执行的定时器实现
  12. DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer
  13. C#复习笔记(3)--C#2:解决C#1的问题(进入快速通道的委托)
  14. JAVA 多线程之volatile的介绍
  15. 如何用原生js开发一个Chrome扩展程序
  16. spring-jar包及架构介绍
  17. IE=edge 让浏览器使用最新的渲染模式
  18. 【POJ 3071】 Football(DP)
  19. .NET跨平台实践:用C#开发Linux守护进程-Daemon
  20. Ubuntu14.04安装之后的一些配置

热门文章

  1. 大数据笔记(二十二)——大数据实时计算框架Storm
  2. 用命令行编译运行java文件的乱码问题
  3. 几种常见的CSS布局
  4. 通过构造器配置Bean
  5. SVN更新报错:Checksum mismatch for ……
  6. Mysql-5.7 x64安装
  7. HTML学习之==>DOM操作
  8. Golang http post error : http: ContentLength=355 with Body length 0
  9. Shadow安装
  10. javascript 访问 webservice