了解Qt及Qt的主要模块
Qt是什么
Qt(/ˈkjuːt/
,发音同cute
)是一个跨平台的C++应用程序开发框架,广泛用于开发GUI程序。
Qt是自由且开放源代码的软件,在GNU宽通用公共许可证(LGPL)条款下发布。所有版本都支持广泛的编译器,包括GCC的C++编译器和Visual Studio。
Qt 用于开发在所有主要桌面平台和大多数移动或嵌入式平台上运行的图形用户界面(GUI) 和多平台应用程序。大多数用 Qt 创建的 GUI 程序都有一个原生界面,在这种情况下,Qt 被归类为小部件工具包。也可以开发非 GUI 程序,例如用于服务器的命令行工具和控制台。
模块
Qt Core:QtCore模块是所有基于Qt的应用程序的基础,其他模块使用的核心非图形类。提供信号与槽的对象间通信机制,并发和多线程,容器,事件系统,插件和I/O设施。
Qt GUI:最重要的GUI模块。图形用户界面 (GUI) 组件的基类。包括 OpenGL。
Qt widgets:包含基于GUI应用程序的典型小部件类和QSceneGraph类。在Qt 5中从QtGui中分离出来。
Qt QML:Qt QML模块用于QML和JavaScript语言。
Qt Quick:该模块用于使用QML2编写的GUI应用程序。用于构建具有自定义用户界面的高度动态应用程序的声明性框架。
Qt Quick Controls:提供轻量级 QML 类型,用于为桌面、嵌入式和移动设备创建高性能用户界面。这些类型采用简单的样式架构并且非常高效。
Qt Quick Dialogs:用于从 Qt Quick 应用程序创建系统对话框并与之交互的类型。
Qt Quick Layouts:用于在Qt Quick中安排项目的布局。
Qt Quick Test:QML 应用程序的单元测试框架,其中测试用例编写为 JavaScript 函数。注意:二进制兼容性保证不适用于 Qt Quick Test。但是,它将保持源兼容。
Qt Network:网络抽象层。完整支持TCP, UDP, HTTP, TLS, SSL(Qt4)和SPDY(Qt5.3)。
Qt Multimedia:音频、视频、广播和相机功能类。
Qt Multimedia Widgets:Qt Multimedia的小部件。
Qt SQL:包含使用SQL进行数据库集成的类。
Qt WebEngine:一套新的Qt Widget和基于Chromium的QML webview api。
Qt Test:用于单元测试 Qt 应用程序和库的类。注意:二进制兼容性保证不适用于 Qt 测试。但是,它将保持源兼容。
其他附加组件
使用 Qt,可以使用其Widgets模块直接用 C++ 编写 GUI 。Qt 还带有一个称为Qt Designer的交互式图形工具,它用作基于 Widgets 的 GUI 的代码生成器。Qt Designer 可以单独使用,但也可以集成到 Qt Creator 中。
Qt Quick
使用 Qt 编写 GUI 的另一种方法是使用QtQuick模块。使用 QtQuick 的 GUI 是用QML编写的。QML 是一种声明性的对象描述语言,它集成了用于过程编程的Javascript。QtQuick 提供了使用 QML 进行 GUI 开发所需的模块。可以只用 QML 编写整个应用程序,但通常只有 GUI 是用 QML 编写的,而应用程序的后端是用 C++ 实现的(参考集成 QML 和 C++)。Qt Creator 还具有集成的 QtQuick GUI 设计器和分析器。
Qt Designer
Qt Designer是用于设计和构建带有Qt Widgets 的图形用户界面 (GUI) 的Qt 工具。
更多内容参考
Qt Creator
Qt Creator的代码编辑器用于辅助创建,编辑,浏览代码,具有对C++及QML语言完整的表达式检查,代码补全,上下文关联,键入代码时的行间错误即时指示等功能:
- 整排出规范代码
- 代码自动补全
- 指示行间错误及警告
- 从语义上对类,函数及变量作分析,方便的跳转浏览
- 对类,函数及变量做上下文分析,提供编码辅助
- 可以对变量智能化重命名,例如改变分属不同域中两个相同的变量名之一,不会影响到另一个变量。
- 告知函数声明和调用的位置
Qt Creator 支持建构和运行 Qt 应用程序在桌面环境(Windows、Linux 和 Mac OS)与移动设备(Symbian、Maemo 和 MeeGo )。
Qt Creator 提供两个集成的可视化编辑器,Qt Designer 与 Qt Quick Designer。