Qt 5.7 的新功能
新模块
The
Qt Quick Controls 2
module that was previously available as a technology preview is now a fully supported module, providing the following features:
-
A new light-weight set of embedded and mobile-oriented controls.
-
Based on a flexible template system that enables rapid development of entire custom styles and user experiences.
-
Built-in styles:
-
Default style - a simple and minimal all-round style that offers maximum performance.
-
Material style - a style based on the Google Material Design Guidelines.
-
Universal style - a style based on the Microsoft Universal Design Guidelines.
-
Can be mixed with Qt Quick Controls 1.0, but the APIs are not compatible.
The following modules that were previously commercial-only, are now available under GPLv3 license for the open source users:
-
Qt Quick 2D Renderer
-
Enables running Qt Quick applications on hardware without OpenGL.
-
Qt Charts
-
Provides ready to use controls for depicting different types of 2D charts and graphs.
-
Qt Data Visualization
-
Enables visualizing data using 3D charts and graphs.
-
Qt Purchasing
-
Provides API to support in-app purchasing use cases with Google Play and Apple Store.
In addition, the following new modules are available as technology preview releases, enabling Qt users to provide feedback:
-
Qt Gamepad
-
Enables Qt gaming applications to respond to gamepad input.
-
Qt SCXML
-
Enables static and runtime integration of SCXML models into Qt code.
Qt 5.7 中的新特征
Qt 3D 模块
-
Added support for Compute Shaders on supported hardware.
-
Added support for loading multi-image DDS and KTX textures including cubemaps, mip chains, and array textures.
-
Improved support for compressed texture formats.
-
Made Render surface explicit.
-
Extended Input API and support for device plugins.
-
Improved picking support.
Qt Core 模块
-
添加
qAsConst
function to help using non-const Qt containers in C++11 range for loops.
-
Enabled Qt event dispatchers to use the
poll()
function on Unix now, making it possible for applications to have file descriptors greater than 1024.
-
Added support for converting a floating point to its shortest and exact string form, without having to pre-calculate the number of digits.
-
Improved C++11 support by using
std::atomic
as backend for QAtomic classes and adding QTypeInfo for
char16_t
and
char32_t
.
-
添加
QIODevice
support for multi-streaming.
-
Enabled
QPluginLoader
to work even if
QT_NO_LIBRARY
is set (for example, linking against a static libc).
Qt Canvas3D 模块
-
Upgraded the
three.js
3rd party library.
Qt GUI 模块
-
Optimized
QImage
smooth scaling for NEON.
-
Optimized the OpenGL function wrappers for speed and code size. The
QtGui
library size has been significantly reduced due to a massive reduction in symbols.
-
Added support for tvOS.
-
Extended QML playlist API.
-
Added support for NVIDIA DRIVE CX boards (Tegra X1, AArch64).
-
Improved support for theming with
eglfs
.
-
Enabled
QMenuBar
to use the unified D-Bus AppMenu menubar on supported X11-based desktop environments such as Ubuntu Unity.
-
Added support for creating Android services.
Qt QML 模块
-
Added JIT support for
WinRT
on x86 and x64.
-
Enabled JIT for 64-bit ARM Linux platforms.
-
Enabled all debug services to work with
QJSEngine
(而不是
QQmlEngine
), which allows non-QML JavaScript debugging or profiling.
-
Added support for debugging multiple
QJSEngine
instances at the same time.
Qt Quick 模块
-
Added support for all subclasses of
QQuickWindow
by the inspector service, which makes Qt Creator's inspection feature useful.
Qt WebEngine 模块
-
升级到 Chromium 49 发行。
-
Added support for drag and drop, and printing to PDF.
-
Added tab notification for audio being played.
-
Added support for playing DRM-protected HTML5 video using Widevine Pepper plugin.
-
Added API for evaluating JavaScript or installing QWebchannel in secure and isolated JavaScript worlds.
-
Improved support for custom context menus.
-
Enabled
QTabBar
to delegate placement of tab scroll buttons to the style.
-
Enabled Qt Style Sheets to optionally let widgets inherit font and palette from their parents.
移除功能
弃用功能
Deprecated modules are still included in Qt 5.7, but are considered for removal in future releases.
API 变化列表
以下页面包含 Qt 5.7 中的 API 变化列表:
其它 Qt 5 发行的补充