Qt 5.0 Alpha

跨平台 GUI 开发框架 Qt 发布 5.0 Alpha 版本。

Qt 5.0 引入了如下变化:

所有平台迁移至 Qt 平台抽象层(QPA)

QPA 原先在 Qt 4.8 时引入作为 Qt Embedded 的替代品,现在将应用在全部平台上。这将方便将各个平台相关的代码抽象化,方便 Qt 面向不同平台的移植,比如 QNX 和 Android 。

重新构建的图形层

  • 相比 Qt4 获得了效率上的提升。
  • Qt Quick 将使用基于 OpenGL 的 Scenegraph,依赖于 OpenGL ES 2.0。
  • 引入 QOpenGL 类,替代 QGL 类。
  • 从 QPainter 中移除平台相关的 X11 和 CoreGraphics 后端。

内部模块化设计

尽管使用 Qt 5 的应用程序开发者看不到,但是 Qt 5.0 内部重新进行了模块化设计。

目前整理出一个称为 Qt Essential 的类集合,包含基本功能(Qt 3D, Qt Core, Qt GUI, Qt JS Backend, Qt Location, Qt Multimedia, Qt Network, Qt Qml, Qt Quick, Qt SQL, Qt Test 和 Qt WebKit)。更多的功能或者平台设备相关部分将通过模块方式按需提供。

此举允许了不同模块之间的独立进步,方便了第三方开发者对 Qt 的贡献。

将 QWidget 分离出成为独立的库

QWidget 被分离出成为单独的一个库,一方面保证依然想要使用该类的用户提供兼容性,另一方面也是在鼓励用户转向使用 QML 和 Qt Quick 方式的图形软件开发。

其他改进

  • Qt Core 改善了 JSON 解析器并提供了新的 Perl 正则引擎。
  • 改善了对 C++11 支持。
  • 新的 Qt Quick 使用 Google V8 引擎。
  • 引入支持 3D 显示的 Qt 3D 模块和提供位置相关服务的 Qt Location 模块。
  • Qt WebKit 将使用来自 WebKit 上游的最新版本,提供更好的 HTML5 兼容性。注意目前暂时禁用其在 Win 平台上的编译,将会在 Beta 重新启用。

Qt 4.X 至 Qt 5.X 迁移指南

源代码包下载

官方发布博客

消息来源:Phoronix

Read More: