红联Linux门户
Linux帮助

Qt 5.7 Beta发布,C++跨平台界面库

发布时间:2016-04-22 09:23:44来源:红联作者:baihuo
Qt 5.7不再兼容C++98,是一个全面体现C++11优势的版本,从底层实现到api设计,充分使用C++11特性,比如非常方便的auto和lambda函数。由于Qt5.6是一个LTS版本,所以设计时向C++98靠拢,使用了少量的C++11特性。Qt5.7将是更加令人期待的版本。

Qt5.7的新特性:

C++11 Support Required from the compiler

Qt has enabled usage of C++11 in Qt applications for a long time, but with Qt 5.7 we are also enabling use of C++11 in the Qt modules. Therefore Qt 5.7 requires C++11 support from the compiler, and has removed support from older compilers not providing adequate C++11 support.

New Features (within existing modules)

Qt Core

Added qAsConst function to help using non-const Qt containers in C++11 range for loops

Qt event dispatchers use the poll() function on Unix now, making it possible for applications to have file descriptors > 1024

Added the ability to convert a floating point to its shortest, exact string form, without having to pre-calculate how many digits that is; QVariant uses this

Many clean-ups related to C++11, including using std::atomic as backend for QAtomic classes and adding QTypeInfo for char16_t and char32_t

QIODevice now supports multistreaming

QPluginLoader now works even if QT_NO_LIBRARY is set (e.g., linking against a static libc)

Qt GUI

QImage smooth scale optimized for NEON.

Optimized the OpenGL function wrappers for speed and code size. QtGui library size has been significantly reduced due to a massive reduction in symbols.

Qt Widgets

QTabBar now delegates placement of tab scroll buttons to the style.

Qt Style Sheets can now optionally let widgets inherit font and palette from their parents.

Qt WebEngine

Based on Chromium 49

Drag'n'Drop

Printing to PDF

Spellchecking

Audio played in tab notification.

Support for DRM-protected HTML5 video using Widevine pepper plugin

API for evaluating javascript or installing qwebchannel in secure isolated javascript worlds

Qt QML

Added JIT support for WinRT on x86 and x64.

Enabled JIT for 64-bit ARM Linux platforms.

All debug services now work with QJSEngine rather than QQmlEngine, which allows for non-QML JavaScript debugging or profiling.

The JavaScript debug service now supports debugging of multiple QJSEngine instances at the same time.

Qt Quick

The inspector service now supports all subclasses of QQuickWindow, which makes Qt Creator's inspection feature useful.

Embedded platforms

Added support for NVIDIA DRIVE CX boards (Tegra X1, AArch64)

Improved theming support with eglfs

Desktop platforms

X11: QMenuBar uses the unified D-Bus AppMenu menubar when the desktop environment supports it (e.g. Ubuntu Unity)

Mobile platforms

Android: Qt can now be used to easily create Android Services.

Qt Canvas 3D

New version of three.js

Qt NFC

API ported to Android.

Qt Multimedia

Added support for tvOS.

Extended QML playlist API.

Qt Bluetooth

Technical preview for Qt Bluetooth Low Energy peripheral role feature (Bluez only)

New Modules

Qt 3D

Support for Compute Shaders on supported hardware

Support for loading multi-image DDS and KTX textures including cubemaps, mip chains, array textures

Improved support for compressed texture formats

Render surface made explicit - will later allow for multiple renders of the same scene to different surfaces and other use cases

Extended Input API and support for device plugins

Picking support improved

Qt Quick Controls 2

Default style - a simple and minimal all-round style that offers the maximum performance

Material style - a style based on the Google Material Design Guidelines

Universal style - a style based on the Microsoft Universal Design Guidelines

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:

Can be mixed with Qt Quick Controls 1.0, but the APIs are not compatible

Qt Charts

Previously commercial-only Qt Charts module is now included in Qt under also GPLv3 license for open source users

Qt Data Visualization

Previously commercial-only Qt Data Visualization module is now included in Qt under also GPLv3 license for open source users

Qt Virtual Keyboard

Previously commercial-only Qt Virtual Keyboard module is now included in Qt under also GPLv3 license for open source users

Qt Purchasing

Previously commercial-only Qt Purchasing module is now included in Qt under also LGPLv3 and GPLv3 license for open source users

Qt Quick 2D Renderer

Previously commercial-only Qt Quick 2D Renderer module is now included in Qt under also GPLv3 license for open source users

Technology Preview Modules

Qt Wayland Compositor

Pure QML API

Improved C++ API with added convenience

New convenient API for making extensions and using them from both QML and C++

Qt SCXML

Completely new module for C++ and QML

Static and runtime integration of SCXML models into Qt code

Qt Gamepad

New module to process input from gamepads in C++ and QML applications.

Supports Windows (XInput), Linux (evdev), Android, iOS.

Qt Serial Bus

New module for C++

Supports Modbus and CAN bus

Deprecated Modules

The following modules are part of Qt 5.6 release, but deprecated and considered for removal in subsequent releases of Qt:

Qt Script

Removed Modules

With Qt 5.7 the following modules are no longer part of the final release packages:

Qt Enginio

Configurations

Qt 5.7 has deprecated configurations that do not provide adequate C++11 support. For details, please see Qt 5.7 Tools and Versions in the wiki.

Mobile platforms: Minimum required versions upgraded to iOS 7 and Android 4.1

下载地址:http://www.qt.io/download/

来自:开源中国社区
文章评论

共有 0 条评论