Qt 5.9 新特性

Qt 5.9的新特性已经基本出来了

New Features (within existing modules)

  • Qt Core
    • Added new qfloat16 class.
    • QProcessEnvironment is now available on iOS, tvOS, watchOS, and VxWorks.
    • QRegularExpression now requires the PCRE2 library, at least version 10.20. Support for the PCRE1 library has been dropped. A copy of PCRE2 is shipped with Qt and will automatically be used on those platforms which lack it.
    • QOperatingSystemVersion is new class for providing convinient access to operating system and version
  • Qt GUI
    • QPainter's GL engine is now functional with core profile OpenGL contexts as well.
    • QImage introduced reinterpretAsFormat to change format without changing data.
    • Compute shaders are now supported in QOpenGLShader and QOpenGLShaderProgram also with OpenGL ES 3.1 and newer.
    • Platforms using Freetype now does stem-darkening and gamma-correction on OpenType fonts if FreeType supports it.
  • Qt QML
    • Add support for ahead-of-time generation of QML type caches
  • Qt Quick
    • OpenGL shader program binaries used by QtGui (QPainter's GL paint engine) and the Qt Quick scenegraph are now cached on disk, improving application startup and view initialization times.
    • Added an OpenVG backend for Qt Quick.
    • Window-screen associations can now be made directly from QML via Window.screen and Qt.application.screens. This allows creating multi-screen aware applications for desktop and embedded without involving C++ code.
    • Added a way to query information about the font actually used to render a Text element.
    • Added an image provider which can share decoded image data and memory between processes.
  • Qt Quick Controls 2
    • Introduced new QML types: DelayButton, ScrollView
    • Added multi-touch support
    • Editable ComboBox
    • Non-interactive persistent Drawer
    • Live value updates (by default) for Slider, RangeSlider, and Dial
    • Dedicated signals for notifying user interaction
      • AbstractButton::toggled(), Slider::moved(), SpinBox::valueModified(), ...
    • Incremental/discrete scrolling with ScrollBar
    • SwipeDelegate allows enabling/disabling the swipe, and opening programmatically
    • Vertical SwipeView
  • Qt WebEngine
    • Updated to Chromium 55 or 56
    • Switched internally to the new Chromium build-system GN
    • API for loading with HTTP POST
    • QQuickWebEngineProfiles can now have user-scripts and QQuickWebEngineUserScripts is now available from C++.
    • DownloadItems now get a reason when being interrupted or failing.
  • Qt SerialBus
    • Added CAN FD Bitrate Switch (BRS) and Error State Indicator (ESI) flags to QCanBusFrame
    • Added QCanBusDeviceInfo for information about available CAN interfaces
    • Added plugin to support SYS-TEC electronic CAN adapters on Windows
  • Qt Location
    • Support for map tilting
    • Support for map rotation
    • Touch gestures for rotating and tilting the map
    • Improved support for stacking multiple Map elements
    • New element MapCopyrightNotice to flexibly position the copyrights of multiple map elements on top
    • HTML copyright can now be styled using CSS
    • Support for handing the rendering of map items to the plugin
    • New "MapboxGL" plugin, based on the mapbox-gl-native mapping engine
    • New method fitViewportToVisibleMapItems to only consider visible items when fitting the viewport
    • New element MapItemGroup, to combine multiple map items in a separate qml file
    • Added a field of view property to the Map element to control the camera's field of view when the map is tilted
    • New element MapParameter, to expose and control plugin-specific runtime functionalities
  • Qt Multimedia
    • New QML properties:
      • CameraCapture.supportedResolutions
      • CameraFlash.supportedModes
      • MediaPlayer.notifyInterval (also for Audio and Video)
      • Video.loops
  • Qt Network
    • Added HSTS support (HTTP Strict Transport Security) to QNetworkAccessManager
    • Added redirects policy to QNetworkAccessManager (ManulRedirectsPolicy, NoLessSafeRedirectsPolicy, SameOriginRedirectsPolicy, UserVerifiedRedirectsPolicy)
  • Qt NFC
    • Allow using NFC when running as an Android service
    • Added support to communicate with ISO-DEP, NFC-A, NFC-B, NFC-F and NFC-V tags/smartcards, e.g. the German eID card, using QNearFieldTarget::sendCommand() on Android
  • Qt WebSockets
    • Added support to handle external QTcpSocket
  • Qt Charts
    • Added support for minor grid lines for logarithmic axes
    • Added options for legend marker shapes
    • Added support for more than one bar series per chart
  • Qt 3D
    • Render Qt Quick 2 scenes to a texture and interact with them within 3D world
    • Technical Preview of new animation subsystem. Non-blocking, keyframe animations on the threadpool. Export from animations from Blender.
    • Physics Based Rendering (PBR) material in Qt3DExtras. Greatly improved appearance when used with environment maps.
    • 3D text support in Qt3DExtras
    • Level of Detail component allows toggling based on projected screen size or distance. Comes with convenience loader class to load different QML files for you.
    • Mesh is now plugin based. Comes with plugins for Wavefront OBJ, PLY and FBX formats. Easy to add others.
    • Distance field based 2D textured text. Can be freely rotated but is based on planar geometry.
  • Qt Virtual Keyboard
    • Added support for selection handles for the dedicated (desktop) keyboard.
    • Changed behavior of shift handler to only activate caps lock if the shift key is double-clicked.
    • Added support for external keyboard layouts, which allows overriding and exclusion of the built-in keyboard layouts.
    • Added language selection popup for faster selection of input language.
    • Added support for automatic selection of the only remaining word in the suggestion list.
    • The word candidate list is now automatically hidden when inactive.
    • Added full screen input mode
  • Embedded platforms
    • Added experimental DRM dumb buffer support to the linuxfb platform plugin, in order to help devices that do not support the deprecated fbdev model (or have problems with fbdev emulation).
    • The evdevtouch plugin supports filtering and prediction of touch events.
  • Qt Bluetooth
    • Classic Bluetooth support for WinRT added
    • Android Peripheral support added

New Modules

  • Qt Gamepad - A module to expose gamepad controller input to C++ and QML applications on a wide variety of platforms.

Platform Changes

  • Removed support for WinRT on Windows 8.1
  • Debug builds on GCC platforms now use -Og optimizations by default. Can be disabled with configure flag -no-optimize-debug.

Technology Preview Modules

  • Qt Remote Objects - A module that allows you to easily share QObject interfaces (Signals/Slots/Properties) between processes or devices
  • Qt Network Authentication (TP2) - Provides support for OAuth1 & OAuth2
  • Qt Speech (TP2) - Continues as tech preview, issues with packaging on Linux resolved, MinGW now supported.

Deprecated Modules

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

  • Qt Script

开发计划如下

Qt 5.9 release plan


Phase Original plan Updated plan Realized
Soft Branching starts25th January 2017 26th January 2017
Feature Freeze & Finalize branching1st February 2017 1st February 2017
Alpha Release1st March 2017 23rd February 2017
Beta Release5th April 2017  
API Review   
String freeze   
Branch 5.9.0 from 5.9   
Release Candidate17th May 2017  
Final Release 31st May 2017  
如果不延期的话,4月份就有beta版,6.1儿童节就能用上正式版了,速度还是很迅速的,话说什么时候支持C++ 0x14呀。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值