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,用于发现系统相关的信息,比如电池使用量,屏,硬件特件等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/600894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MYSQL多种提权方式

&#x1f419;MYSQL-提权条件 - 数据库的最高权限用户的密码 - secure-file-priv没进行目录限制 - 拿下了网站的权限&#xff08;通过webshell或者其他方式&#xff09; - 获取到了数据库的账号密码 &#xff08;获取密码&#xff1a;D:/phpstudy/MySQL/data/mysql/user.MYD…

win10报错“zlib.dll文件丢失,软件无法启动”,修复方法,亲测有效

zlib.dll文件是一个由Zlib创建的动态链接库文件&#xff0c;它是用于Windows操作系统的数据压缩和解压缩的软件。Zlib是一个广泛使用的软件库&#xff0c;广泛应用在许多不同类型的软件中&#xff0c;包括游戏、浏览器和操作系统。 zlib.dll的主要作用是提供数据压缩和解压缩的…

input中typedate的属性都有那些

自我扩展‘ type 中date属性 自我 控制编辑区域的 ::-webkit-datetime-edit { padding: 1px; background: url(…/selection.gif); }控制年月日这个区域的 ::-webkit-datetime-edit-fields-wrapper { background-color: #eee; }这是控制年月日之间的斜线或短横线的 ::-webki…

【Delphi 基础知识 13】匿名方法的使用

在Delphi中&#xff0c;匿名方法是一种无需显式声明函数名的方法。它通常在事件处理、回调函数等场景中使用。 下面是一个简单的Delphi示例&#xff0c;演示如何使用匿名方法 unit MainForm;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Control…

详细讲解MybatisPlus中的BaseMapper类中的CRUD功能(全)

目录 前言1. 基本概念2. CRUD2.1 插入2.2 删除2.3 修改2.4 查询 前言 大部分CRUD都来源这个类&#xff0c;对此有意义剖析&#xff0c;方便之后的功能开发 完整的CRUD可看我之前的文章&#xff1a; 详细讲解MybatisPlus中的IService类中的CRUD功能&#xff08;全&#xff09…

redis黑马点评项目启动指南(含mac m1pro | windows11 wsl2 ubuntu环境配置 持续更新中~)

redis黑马点评项目学习笔记 mac m1pro windows 含项目配置教学 mac M1pro环境配置windows11 wsl2 ubuntu 环境配置一.短信登录1. 1发送验证码1.2短信登录注册1.3登录校验拦截器补缺Cookie Session Token1.4基于redistoken认证实现短信登陆1.5完善token认证的刷新机制 2.商户查询…

Python浪漫520表白代码

系列文章 序号文章目录直达链接表白系列1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏飘字表白代码https://want595.blog.csdn.net/article/details/1349149703无限弹窗表白代码https://want595.blog.csdn.net/article/details/1297945184跳…

springboot基础

一 springboot 1 spring 的缺点 在spring boot出现以前&#xff0c;使用spring框架的程序员是这样配置web应用环境的&#xff0c;需要大量的xml配置。下图展示了在xml配置的时代和SpringBoot的配置量的差别。 随着web项目集成软件的不断增多&#xff0c;xml配置也不断的增多&…

编程笔记 html5cssjs 026 HTML输入类型(2/2)

编程笔记 html5&css&js 026 HTML输入类型&#xff08;2/2&#xff09; 输入类型&#xff1a;date输入类型&#xff1a;color输入类型&#xff1a;range输入类型&#xff1a;month输入类型&#xff1a;week输入类型&#xff1a;time输入类型&#xff1a;datetime输入类型…

java数据结构与算法刷题-----LeetCode63. 不同路径 II

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难&#xff0c;但它就是固定套路而已。其实动态规划只…

第3章-指标体系与可视化-3.3-指标体系

目录 为什么要构建指标体系 什么是指标体系 如何构建指标体系 指标库

C#编程-实现继承

C#允许您通过扩展现有类的功能以创建新类来实现继承。 从基类创建派生类 使用以下语法在C#中创建派生类: class <derived_class>:<base_class>{...}确定继承的层次结构 要确定继承层次结构,必须检查派生类与基类之间的关系种类。确保派生类是一种基类。 请考虑以…

Linux——系统安全及应用

一、基本安全措施 1、系统账号清理 常见的非登录用户账号包括bin、daemon、 adm、lp、mail等。为了确保系统安全&#xff0c;这些用户账号的登录Shell通常是/ sbin/nologin&#xff0c;表示禁止终端登录&#xff0c;应确保不被人为改动。 //将非登陆用户的Shell设为/sbin/nolo…

【Spring Cloud】组件概念详解

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《Spring Cloud》。&#x1f3af;&#x1f3af; &am…

2023 hnust 湖南科技大学 大四上 商务智能 课程 期末考试 复习资料

前言 《听了课就能及格》由于老师发的复习PPT内容过多&#xff08;近两万字&#xff09;&#xff0c;因此在此大幅删减由于老师透露太少&#xff0c;删减全凭主观意志&#xff0c;请谨慎参考&#xff01;&#xff01;&#xff01;猜测逻辑 过于细碎概念的不考&#xff08;不算…

【Tomcat】在一台计算机上运行两个Tomcat服务

首先把Tomcat整个文件复制一份放在其他文件夹路径中 1.修改环境变量 添加环境变量在系统变量里面 “CATALINA_HOME” 指向一个Tomcat文件夹路径 “CATALINA_HOME1” 指另一个Tomcat文件夹路径 2.修改startup里面的环境变量&#xff0c;全部修改 分别修改两个apache-tomcat…

【STM32】RTC实时时钟

1 unix时间戳 Unix 时间戳&#xff08;Unix Timestamp&#xff09;定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数&#xff0c;不考虑闰秒 时间戳存储在一个秒计数器中&#xff0c;秒计数器为32位/64位的整型变量 世界上所有时区的秒计数器相同&#xff0c;不同时区…

Linux第14步_安装FTP服务器

安装“vim编辑器”后&#xff0c;我们紧接着“安装FTP服务器”。 1、在安装前&#xff0c;要检查虚拟机可以上网&#xff0c;否则可能会导致安装失败。 2、在虚拟机界面右击鼠标&#xff0c;弹出下面的对话框 3、点击“打开终端(E)”&#xff0c;得到下面的界面 &#xff1a;…

基于SpringBoot的高校毕业生离校管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的高校毕业生离校管理系统…

SQL Server 权限管理

CSDN 成就一亿技术人&#xff01; 2024年 第一篇 难度指数&#xff1a;* * CSDN 成就一亿技术人&#xff01; 目录 1. 权限管理 什么是权限管理&#xff1f; SQL server的安全机制 服务器级角色 数据库级角色 对象级角色 2. 创建用户 赋予权限 最重要的一步骤 1. 权限…