Qt5.7新特性-阿里云开发者社区

开发者社区> 潘志闻> 正文

Qt5.7新特性

简介: 简述 Qt5.7发布了,新特性如下。 简述 新特性 C11 Support Required from the compiler New Features within existing modules New Modules Technology Preview Modules Deprecated Modules Removed Modules Config
+关注继续查看

简述

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.
    • QIcon::fromTheme can now use GTK+ icon theme caches for faster icon lookup
  • 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
    • 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
    • Data to make better custom context menus
    • Compile time switch for AppStore compatibility on OS X
  • 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.
    • The profiler service can generate much larger traces without running out of memory, and will take much less time to do so now.
    • Custom connectors for debugging and profiling can be loaded with QQmlDebuggingEnabler::startDebugConnector() now.
    • The JavaScript debug service can now evaluate expressions without the QML engine being paused in a breakpoint.
  • 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)
    • Added support for the Raspberry Pi 3 (32-bit mode)
    • Added support for NXP i.MX7-based devices (no GPU; uses linuxfb and the Qt Quick 2D Renderer)
    • 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)
  • Qt Sensors

    • Added iio-sensor-proxy backend for Linux. It provides light, orientation, and compass sensors.

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

    • 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 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
    • 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

安装配置

关于Qt5.7的安装配置,请参考之前所写环境搭建相关的资料:

安装过程中,新添加的模块(如:Qt Charts)默认不被安装,请自行勾选(我一般会全选)。

这里写图片描述

使用

打开Creator,进入:欢迎 -> 示例,我们可以运行新添加的一些模块示例:

这里写图片描述

Qt Charts效果也很棒,效果如下:

这里写图片描述

效果棒棒哒,看起来不比QWT等其它图形库逊色,而且支持QML,后期有时间好好研究一番。

更多参考

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SAP Commerce Cloud,通过 ycommercewebservices OCC APIs 进行结账的一个技术限制
SAP Commerce Cloud,通过 ycommercewebservices OCC APIs 进行结账的一个技术限制
4 0
Netweaver工作进程的内存限制 VS CloudFoundry应用的内存限制
Netweaver工作进程的内存限制 VS CloudFoundry应用的内存限制
3 0
Netweaver工作进程的内存限制 VS CloudFoundry应用的内存限制
Netweaver工作进程的内存限制 VS CloudFoundry应用的内存限制
3 0
关于 Hybris (SAP Commerce Cloud)产品的客户群
关于 Hybris (SAP Commerce Cloud)产品的客户群
3 0
关于 SAP 电商云首页加载时触发的 OCC API 请求
关于 SAP 电商云首页加载时触发的 OCC API 请求
4 0
在 SAP Spartacus 里如何调用 hybris 里实现的自定义 API
在 SAP Spartacus 里如何调用 hybris 里实现的自定义 API
4 0
Angular Service依赖注入的一个具体例子
Angular Service依赖注入的一个具体例子
3 0
SAP Commerce Cloud Product Review 的添加逻辑
SAP Commerce Cloud Product Review 的添加逻辑
3 0
SAP Commerce Cloud 的 build 过程
SAP Commerce Cloud 的 build 过程
3 0
+关注
潘志闻
互联网挖掘者
287
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载