1.基础模块
Qt Core | 提供核心的非GUI功能,所有模块都需要这个模块.这个模块的类包含了动画框架定时器 各个容器类 时间日期类 事件 IO JSON 插件机制 智能指针 图形(矩形 路径等) 线程 XML等,需要添加头文件 |
---|---|
Qt GUI | 提供GUI程序的基本功能,包含与窗口系统的集成 事件处理 OpenGL和OpenGL es继承 2D图像 字体 拖放等.这些类一般用于Qt用户界面类使用,也可以访问底层的OpenGL es图像API. |
Qt Multimedia | 提供视频 音频 收音机以及摄像头等功能,需要在pro文件中添加 QT + = multimedia,需要添加头文件 |
Qt Network | 提供跨平台的网络功能,需要在pro文件中添加 QT + = network,需要添加头文件 |
Qt Qml | 提供QML(脚本语言,提供js交互机制)使用的C++ API,需要在pro文件中添加 QT + = qml,需要添加头文件 |
Qt Quick | 允许在程序中嵌入Qt Quick(一种基于Qt的高度动画的用户界面,适合移动平台开发),需要在pro文件中添加 QT + = quick,需要添加头文件 |
Qt SQL | 允许使用SQL访问数据库,需要在pro文件中添加 QT + = sql,需要添加头文件 |
Qt Test | 提供Qt程序的单元测试功能,需要在pro文件中添加 QT + =testlib,需要添加头文件 |
2.Lambda表达式
在Qt5中,可以使用Lambda表达式来定义并创建匿名的函数对象,不过这是C++11引入的新特性,如果要使用Lambda表达式,必须在.pro文件中写入
CONFIG += c++11
connect(button, &QPushButton::clicked,
// = :把外部所有局部变量、类中所有成员以值传递方式
// this: 类中所有成员以值传递方式
// & : 把外部所有局部变量, 引用符号
[=]()
{
qDebug() <<" button is clicked";
}
);
3.Qt遵循MVC的设计模式
M (model)模型层,一般存放持久数据,Headers文件夹下的 .h文件
V(view)视图层,将模型层中的数据显示出来,Forms文件夹下的 .ui 文件
C(controller)控制层,负责从视图读取数据,并向模型发送数据,Sources文件夹下的 .cpp 文件