“Qt编程基础_qt编程入门” 网站介绍
Qt(发音为“cute”,而不是“cu tee”)是一个跨平台框架,通常用作图形工具包,不过它在创建命令行(CLI)应用程序方面非常出色。它可以运行在3个主要的桌面操作系统(Windows、Linux和Mac)以及移动设备操作系统(如Symbian、Android和iOS等)上。Qt 5与Qt 4最大的区别之一是底层架构修改了。
Qt 5引入了模块化的概念,将众多功能细分到几个模块之中。Qt 4也有模块的概念,不过是一种很粗略的划分,而Qt 5则更加细化。这里对Qt5的模块做一个简单的介绍,以便于大家根据需要的功能找到正确的模块。
Qt 5模块分为Essentials Modules和Add-on Modules两部分。前者是基础模块,在所有平台上都可用;后者是扩展模块,建立在基础模块的基础之上,在能够运行Qt的平台之上可以酌情引入。
Qt基础模块分为以下几个:
(1)Qt Core,提供核心的非GUI功能,所有模块都需要这个模块。这个模块的类包括动画框架、定时器、各个容器类、时间日期类、事件、IO、JSON、插件机制、智能指针、图形(矩形、路径等)、线程、XML等。所有这些类都可以通过#include <QtCore>头文件来引入。
(2)Qt GUI,提供GUI程序的基本功能,包括与窗口系统的集成、事件处理、OpenGL和OpenGL ES集成、2D图像、字体、拖放等。这些类一般由Qt用户界面类在内部使用,当然也可以用于访问底层的OpenGL ES图像API。Qt GUI模块提供的是所有图形用户界面程序都需要的通用功能。
(3)Qt Multimedia,提供视频、音频、收音机以及摄像头等功能。这些类可以通过#include<QtMultimedia>引入,需要在pro文件中添加QT+=multimedia。
(4)Qt Network,提供跨平台的网络功能。这些类可以通过#include <QtNetwork>引入,需要在pro文件中添加QT+=network。
(5)Qt QML,提供了供QML(一种脚本语言,也提供了JavaScript的交互机制)使用的C++ API。这些类可以通过#include <QtQml>引入,需要在pro文件中添加QT+=qml。
(6)Qt Quick,允许在Qt/C++程序中嵌入Qt Quick(一种基于Qt的高度动画的用户界面,适合于移动平台开发)。这些类可以通过#include <QQuickView>引入,需要在pro文件中添加QT+=quick。
(7)Qt SQL,允许使用SQL访问数据库。这些类可以通过#include <QtSql>引入,需要在pro文件中添加QT+=sql。
(8)Qt Test,提供Qt程序的单元测试功能。这些类可以通过#include <QtTest>引入,需要在pro文件中添加QT+=testlib。
(9)Qt WebKit,基于WebKit2的实现以及一套全新的QML API(顺便说一下,Qt 4.8附带的是Qt WebKit 2.2)。
Qt扩展模块分为以下几个:
(1)Qt 3D,提供声明式语法,在Qt程序中可以简单地嵌入3D图像。Qt 3D为Qt Quick添加了3D内容渲染。Qt 3D提供了QML和C++两套API,用于开发3D程序。
(2)Qt Bluetooth,提供用于访问蓝牙无线设备的C++和QML API。
(3)Qt Contacts,用于访问地址簿或者联系人数据库的C++和QML API。
(4)Qt Concurrent,封装了底层线程技术的类库,方便开发多线程程序。
(5)Qt D-Bus,这是一个仅供UNIX平台使用的类库,用于利用D-Bus协议进行进程间交互。
(6)Qt Graphical Effects,提供了一系列用于实现图像特效的类,比如模糊、锐化等。(7)Qt Image Formats,支持图片格式的一系列插件,包括TIFF、MNG、TGA和WBMP。(8)Qt JS Backend,没有公开的API,从V8 JavaScript引擎移植而来。这个模块仅供QtQml模块内部使用。
(9)Qt Location,提供定位机制、地图和导航技术、位置搜索等功能的QML和C++ API。(10)Qt OpenGL,方便在Qt应用程序中使用OpenGL。该模块仅仅为了便于程序从Qt 4移植到Qt 5才保留下来,如果需要在新的Qt 5程序中使用OpenGL相关技术,需要使用Qt GUI模块中的QOpenGL。
(11)Qt Organizer,使用QML和C++ API访问组织事件(Organizer Event)。Organizer API是Personal Information Management API的一部分,用于访问Calendar信息。通过Organizer API可以实现从日历数据库访问日历时间、导入iCalendar事件或者将自己的事件导出到iCalendar。
(12)Qt Print Support,提供了对打印功能的支持。
(13)Qt Publish and Subscribe,为应用程序提供了对项目值的读取、导航、订阅等功能。
(14)Qt Quick,从Qt 4移植过来的QtDeclarative模块,用于提供与Qt 4的兼容。如果需要开发新的程序,需要使用Qt Quick模块。
(15)Qt Script,提供脚本化机制。这也是为了提供与Qt 4的兼容性,如果要使用脚本化支持,请使用QtQml模块的QJS*类。
(16)Qt Script Tools,为使用Qt Script模块的应用程序提供的额外组件。
(17)Qt Sensors,提供访问各类传感器的QML和C++接口。
(18)Qt Service Framework,提供客户端发现其他设备的服务。Qt Service Framework为在不同平台上发现、实现和访问服务定义了一套统一的机制。
(19)Qt SVG,提供渲染和创建SVG文件的功能。
(20)Qt System Info,提供的一套API,用于发现系统相关的信息,比如电池使用量、锁屏、硬件特性等。
(21)Qt Tools,提供了方便Qt开发的工具,包括Qt CLucene、Qt Designer、Qt Help以及Qt UI Tools。
(22)Qt Versit,提供了对Versit API的支持。Versit API是Personal Information Management API的一部分,用于QContacts和vCard以及QOrganizerItems和iCalendar之间的相互转换。
(23)Qt Wayland,仅用于Linux平台,用于替代QWS,包括Qt Compositor API(Server)和Wayland平台插件(Client)。
这里需要强调一点,由于Qt的扩展模块并不是Qt必须安装的部分,因此Qt在未来版本中可能会提供更多的扩展模块。
更多相关网站
- Qt使用教程:指定编辑器设置_qt需要设置一个编辑器来构建
- 24章全-Qt 全流程实战企业级项目 - 云对象存储浏览器
- QT远程Linux文件浏览器_qt读取远程电脑的文件目录
- Qt中的IO操作_qt的ide
- QT5.9.9生成并调用自己的DLL_qt怎么调用dll文件
- 从零开始学Qt(25):常用的宏定义_从零开始学习26键
- Qt与Js互相调用_java调用qt
- Qt6重磅更新:新版本的Qt 6 将通过包管理器提供附加库
- Qt 纯C++项目发布为dll的方法(超详细步骤)
- Qt开发dll共享库简单的调试方法_qt发布dll
- 从零开始学Qt(52):QTextStream读写文本文件
- 「Qt入门第22篇」 数据库(二)编译MySQL数据库驱动
- Qt使用教程:指定生成设置(二)_qt二维码生成教程
- 用Qt简化你的开发工具集,从MCU到桌面电脑,应有尽有
- Qt drawText 绘制文本_qt drawrect
- QT框架之个人管理系统实现-前导文
- Qt文件路径:QDir_qt 当前路径
- 怎么在qt中加载css文件_qt怎么添加ui
- 最近发表
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 梦幻诛仙表情包 (36)
- java面试宝典2019pdf (26)
- disk++ (30)
- 加密与解密第四版pdf (29)
- iteye (26)
- centos7.4下载 (32)
- intouch2014r2sp1永久授权 (33)
- jdk1.8.0_191下载 (27)
- axure9注册码 (30)
- 兔兔工程量计算软件下载 (27)
- ccproxy破解版 (31)
- aida64模板 (28)
- engine=innodb (33)
- shiro jwt (28)
- segoe ui是什么字体 (27)
- head first java电子版 (32)
- clickhouse中文文档 (28)
- jdk-8u181-linux-x64.tar.gz (32)
- 计算机网络自顶向下pdf (34)
- -dfile.encoding=utf-8 (33)
- jdk1.9下载 (32)