开发者社区> 潘志闻> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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,后期有时间好好研究一番。

更多参考

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

相关文章
使用qt实现简易示波器功能
使用qt实现简易示波器功能
0 0
Qt6-Qt5代码移植到Qt6
尝试下Qt5的代码是否可以正常在Qt6上编译通过,使用的我网易云代码,这里测试的时候我先添加了5.12的版本进行测试没有问题,下面将切换到6.0的环境试一下。
0 0
1、QT基础——Qt概述
1、QT基础——Qt概述
0 0
qt-vs-addin:Qt4和Qt5之VS插件如何共存与使用
qt-vs-addin:Qt4和Qt5之VS插件如何共存与使用
0 0
QT中VideoProbe的简介和实现
一、遇到问题        在Android机上使用QT进行图像处理程序设计的时候,遇到的一个比较明显的问题就是图片采集的问题----摄像头获得是实时的视频,如果我们想从中动态地截获图片,并且转换成Mat的格式,那么仅仅是静态的imagecapturee就无法完成,必须要依靠VideoProbe机制。
751 0
解决QT兼容性问题
按照例子在QDevelop中建立一Widget工程,并加入代码 #include #include #include #include     class MyWidget : public QWidget { public: MyWidget( QWidget *pa...
453 0
+关注
潘志闻
互联网挖掘者
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载