建立在基础模块的基础之上,Qt 学习之路 2(6)

发布时间:2020-03-26  栏目:新葡京32450网址  评论:0 Comments

计划于上个月发布的 Qt 5.14
经过短暂的推迟后,现在终于发布了稳定版。该版本以及明年的
Qt 5.15 LTS 开始为发布 Qt 6
做铺垫。开发团队表示,尽管他们正在努力通过标记不推荐使用的功能以使将来尽可能平稳地移植到
Qt 6,但现在还是引入了一些新功能。

下面将介绍在 Qt
中进行的一些关键技术变更,以使其能适应未来几年的技术发展。

Qt 5.14 Beta 2 发布,该版本主要内容有:

 / 

Qt 4 也分成若干模块,但是这些模块与 Qt 5 有些许多不同。下面是 Qt 4
的模块:

Qt Quick 新添加的 Qt Quick Timeline
模型提供了一种通过时间轴和关键帧为属性设置动画的简便方法。此外,Qt
Quick 引入的另一个功能是鼠标滚轮的事件处理程序(亦称为”WheelHandler“)和来自触控板的模拟鼠标滚轮事件。

下一代图形堆栈

自 Qt 5 发布以来,图形领域已经发生了许多变化,所以 Qt
框架不得不对图形堆栈进行重大改进以保持竞争力。

Qt 5 使用 OpenGL 作为 3D 图形的统一
API。不过也是从那时起,业界诞生了许多新的 API。Vulkan 是 Linux 平台上
OpenGL 的指定继承者,Apple 正在推动 Metal 的发展,而微软则推出了 Direct
3D。这就意味着 Qt 将来必须与所有这些 API 无缝协作。为了实现这一点,Qt
必须定义一个新的层对图形 API 进行抽象(如用于平台集成的
QPA),官方将这个层称为渲染硬件接口(Rendering Hardware
Interface,RHI),他们需要将所有渲染基础设施(QPainter,Qt Quick
Scenegraph 以及对 3D 的支持)建立在该层之上。

此外,团队还打算为 Qt 6
带来统一的主题/样式引擎,这将使我们能够在桌面和移动平台上获得 Qt Widgets
和 Qt Quick 的原生外观。

Qt 5.14 之后,QT 5.15
更新预计将在春季进行,但可能只是一个相对较小的更新,侧重于 Qt6 的 bug
修复和更改,如果没什么意外,QT 6.0 将在 2020 年年底前亮相。 

 / 

Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改。Qt 5
引入了模块化的概念,将众多功能细分到几个模块之中。Qt 4
也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化。本节主要对 Qt
5
的模块进行一个简单的介绍,以便以后大家需要哪些功能的时候知道到哪个模块去寻找。

Qt 5.14 更新内容概述:

众所周知,Qt 最大的亮点之一就是其跨平台特性 ——
开发者通过使用一种技术和单一代码库即可将应用程序部署到所有桌面、移动和嵌入式平台。而桌面平台是
Qt 立足的根本,对 Qt 而言这是最核心和最重要的市场。因此保持 Qt
在桌面市场的健康和增长是在其他市场也能够增长的先决条件。

详情见发布说明:

 Home

  • QtCore,Qt 提供的非 GUI 核心类库,这一部分与 Qt 5
    大致相同,只不过 Qt 4 的 core 类库中并不包含 JSON、XML 处理等。
  • QtGui,图形用户界面组件,这个模块相当于 Qt 5 的 QtGui 与
    QtWidgets 两个模块的总和。
  • QtMultimedia,多媒体支持,类似 Qt 5 的相关部分。
  • QtNetwork,网络支持,类似 Qt 5。
  • QtOpenGL,提供对 OpenGL 的支持。在 Qt 5 中,这部分被移植到 QtGui
    模块。
  • QtOpenVG,提供对 OpenVG 的支持。
  • QtScript,提供对 Qt Scripts 的支持。Qt Script 是一种类似于
    JavaScript 的脚本语言。在 Qt 5 中,推荐使用 QtQml 的 JavaScript
    部分。
  • QtScriptTools,为 Qt Script 提供的额外组件。
  • QtSql,提供对 SQL 数据库的支持。
  • QtSvg,提供对 SVG 文件的支持。
  • QtWebKit,提供显示和编辑 Web 内容。
  • QtXml,XML 处理,这部分在 Qt 5 中被添加到了 QtCore。
  • QtXmlPatterns,提供对 XQuery、XPath 等的支持。
  • QtDeclarative,用于编写动画形式的图形用户界面的引擎。
  • Phonon,多媒体框架。
  • Qt3Support,Qt 3 兼容类库。
  • 引入了一个独立于图形 API
    的场景图(scenegraph)渲染器,该渲染器将继续在 Qt 6.0 上使用,并且对于
    Qt on Vulkan 来说也很重要;
  • 正在进行的 HiDPI 改进(用于处理当今的高像素密度显示器);
  • 针对 Qt 3D 线程和其他 Qt Quick 3D 工作的改进;
  • 对带有 Qt Multimedia 的 GStreamer OpenGL 的支持;
  • 引入 Qt Quick Timeline;
  • 升级 Qt WebEngine 以及 Chromium 上的所有最新产品;
  • 升级 Qt for Automation

Qt 6 还会对代码库进行清理并使其更易于维护。因此,重点将放在那些需要在 Qt
内进行架构变更的项目中,这带来的影响就是,如果不破坏与 Qt 5.x
某种程度的兼容性就无法完成这些变更。

  • 引入独立于图形 API 的视图渲染器,包括支持 Vulkan
  • 更好的 HiDPI 处理
  • Qt Multimedia 现在支持 GStreer OpenGL
  • 改进 Qt 3D 线程
  • 新的 Qt Quick Timeline 

Qt 学习之路 2

  • QtDesigner,用于扩展 Qt Designer。
  • QtUiTools,用于在自己的引用程序中处理 Qt Designer 生成的 form
    文件。
  • QtHelp,联机帮助。
  • QtTest,单元测试。

相关文章

留下评论

网站地图xml地图