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

来源:开源中国社区 作者:oschina
  

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

via qt


时间:2016-04-22 08:16 来源:开源中国社区 作者:oschina 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量