Qt编程之基础模块和扩展模块介绍

         Qt (发音为“cute”,而不是“cu tee” )是一个跨平台框架,通常用作图形工具包,不过它在创建命令行(CLI)应用程序方面非常出色。它可以运行在 3个主要的桌面操作系统(Windows、Linux 和 Mac)以及移动设备操作系统(如 Symbian、Android 和 iOS 等)上。

        Qt 5 与 Qt 4 最大的区别之一是底层架构修改了。Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中。Qt4也有模块的概念,不过是一种很粗略的划分,而Qt5则更加细化。这里对Qt5的模块做一个简单的介绍,以便于大家根据需要的功能找到正确的模块。Qt 5基本模块和附加模块在前者是基础模块,所有平台上都可用;后者是扩展模块,建立在基础模块的基础之上,在能够运行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多媒体,。这些类可以通过# include < QtMultimedia >引入,需要在箴文件中添加QT + =多媒体。

(4) Qt Network,。这些类可以通过# include < QtNetwork >引入,需要在箴文件中添加QT + =网络。

(5) Qt QML,提供了供QML (一种脚本语言,也提供了JavaScript的交互机制)使用的C++ API。这些类可以通过#include <QtQml>引入,需要在pro文件中添加QT+=qml.

(6) Qt快,允许+ +在高职院校学前教育专业程序中嵌入Qt快速(一种基于Qt的高度动画的用户界面,适合于移动平台开发)。这些类可以通过# include < QQuickView >引入,需要在箴文件中添加QT += quick。

(7) Qt SQL,允许使用SQL 访问数据库。这些类可以通过#include <QtSql>引入,需要在 pro 文件中添加 QT += sql。

(8)Qt测试。这些类可以通过# include < QT >引入,儒要在箴文件中添加QT + = testlib。(9)Qt WebKit,基于 WebKit2 的实现以及一套全新的 QML API(顺便说一下,Qt 4附带的是 Qt WebKit 2.2)。

Qt扩展模块分为以下几个:

(1) Qt 3D,提供声明式语法,在Qt程序中可以简单地嵌入3D图像。Qt 3D为Qt Quich添加了 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的图形效果,提供了一系列用于实现图像特效的类,比如模糊、锐化等。

(7) QtImage Formats,支持图片格式的一系列插件,包括 TIFF、MNG、TGA 和 WBMP

(8)Qt JS Backend,没有公开的 API,从 V8 JavaScript 引擎移植而来。这个模块仅供 QtQm模块内部使用。

(9)Qt Location,提供定位机制、地图和导航技术、位置搜索等功能的QML和C++ API

(10) Qt OpenGL,方便在 Qt应用程序中使用OpenGL。该模块仅仅为了便于程序从 Qt移植到Qt 5才保留下来,如果需要在新的Qt 5程序中使用OpenGL相关技术,需要使用Qt GU模块中的 QOpenGL。

(11)Qt Organizer、QML、c++ API (Organizer Event)。组织API、个人信息管理API、日历。组织API, iCalendar(12)Qt打印支持,。

(13) Qt发布和订阅,为应用程序提供了对项目值的读取,导航,订阅等功能。(14) Qt快,从Qt 4移植过来的QtDeclarative模块,用于提供与Qt 4的兼容。

(14) Qt Quick,用于提供与Qt4的兼容。

(15) Qt Script,提供脚本化机制。这也是为了提供与Qt4的兼容性,如果要使用脚本支持,请使用 QIQml 模块的 QJS*类。

(16) Qt Script Tools,为使用Qt Script模块的应用程序提供的额外组件。

(17) Qt Sensors,提供访问各类传感器的QML和C++接口。

(18) Qt Service Frameworke提供客户端发现其他设备的服务

(19)Qt SVG,提供渲染和创建 SVG 文件的功能。

(20) Qt系统信息,提供的一套API,用于发现系统相关的信息,比如电池使用量,屏,硬件特件等

  • 33
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Qt是一个跨平台的C++应用程序开发框架,它为开发者提供了丰富的模块编程功能。要实现模块编程的demo,我们可以使用Qt模块化架构来构建一个简单的应用程序。 首先,我们可以创建一个主窗口的模块,用来展示整个应用程序的界面。在这个模块中,我们可以使用Qt提供的UI设计器来设计窗口的布局,添加按钮、文本框等控件,并实现与其他模块的交互逻辑。 然后,我们可以创建一个数据处理的模块,用来处理应用程序需要的数据。在这个模块中,我们可以定义数据的结构和处理方法,并且提供接口供其他模块来访问数据。 接下来,我们可以创建一个业务逻辑的模块,用来实现应用程序的功能。在这个模块中,我们可以定义各种业务逻辑的处理方法,并且将数据处理模块提供的数据与主窗口模块提供的界面进行连接,实现功能的完整性。 最后,我们可以在主函数中将这些模块进行组合,实现一个完整的demo。我们可以在主函数中实例化主窗口模块,并将数据处理模块和业务逻辑模块连接起来,然后启动应用程序。 通过上述的模块编程方法,我们可以更容易地管理应用程序的逻辑结构,提高代码的可维护性和可扩展性。同时,也可以更方便地进行团队合作开发,使开发工作更加高效和协调。 Qt模块编程功能为我们提供了强大的支持,帮助我们快速实现复杂应用程序的开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行者..................

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值