找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

Qt 5.12 LTS正式发布

yafeilinux 2018-12-6 23:14 5254人围观 最新动态

      
今天Qt 5.12 LTS正式发布,这是继Qt 5.6 、Qt 5.9之后第三个长期支持版本,进行了大幅度的增强,修复了众多bug,并会在之后的三年内进行持续优化。与Qt 5.12一起发布的还包括Qt Creator 4.8.0,大家可以到这里下载Qt 5.12。更多更新内容可以查看下面的博客原文。




ps:鉴于Qt 5.12已经发布,我们的书籍和新的教程也即将与大家见面。


全文(原文链接):


Just in time for the end of the year, we have released Qt 5.12 LTS today. This is a long-term-supported (LTS) release that we will support for 3 years to come. We have had a strong focus on quality and fixed more than 2000 bugs since the last Qt LTS version, Qt 5.9.7 – make that over 5000 bugfixes since Qt 5.6.3. Of course, this is only the start, and we will work hard on continuously improving the quality of Qt 5.12 in upcoming patches.
Speaking about which, we have improved Qt’s performance and memory consumption, especially within the area of Qt 3D and the QML engine.
But like all major Qt releases, Qt 5.12 LTS also includes a lot of new features. Let’s have a look at some of them.


New modules and platforms
I’m really happy to announce that we will now fully support Qt for Python, making all of the Qt APIs available to Python developers. The tech preview is currently available for you to test, while the official release will follow shortly after Qt 5.12. Qt for Python originates from the PySide project that we have been hosting on qt-project.org for many years. Qt for Python supports most of Qt’s C++ APIs and makes them accessible to Python programmers. In short: Python developers now can also create complex graphical applications and user interfaces. You can find more details in the Qt for Python blog posts.
Qt 5.12 contains the second Technology Preview for Qt for WebAssembly. With Qt for WebAssembly, you can compile a Qt application to run in any modern Web browser. Even though Qt for WebAssembly is still marked as a Technology Preview, it is pretty functional, and we’d like to encourage you to give it a spin and provide feedback. You can find more details about it here.
In addition to supporting two new platforms with Python and WebAssembly, Qt 5.12 also adds full support for two modules, that have been available as Technology Previews in earlier versions:
Qt Remote Objects makes IPC between Qt based processes seamless. It allows exposing the properties, signals and slots of a QObject to another process, independent of where that process runs.
Similarly, the Qt WebGL Streaming Plugin is now also fully supported. This plugin lets you stream the user interface of applications to any modern browser over the network.


Qt QML and Qt Quick
With the new release, we have done some major improvements to the JavaScript engine supporting QML. It has been upgraded from being compatible with ECMAScript 5 to now fully support ECMAScript 7. This enables modern JavaScript and simplifies the integration of Javascript libraries. ECMAScript modules are now also supported and can be loaded both from C++ as well as QML/JS.
We’ve now added a TableView as another type of Item View in Qt Quick. It’s a lot more performant than its previous QQC1 implementation and is filling the last major gaps in our set of Views. Various controls in Qt Quick Controls 2 gained new methods or new functionalities.
The Pointer Handlers of Qt 5.11 are now renamed to Input Handlers and are fully supported as a first-class feature in Qt Quick. The Input Handlers simplify the creation of complex touch interactions, that used to be difficult to do with MouseArea and TouchArea alone. Two new Input Handlers for hovering and dragging items have also been added.
Qt Quick now supports pre-generating distance field textures. Those textures contain the glyphs required to render text in Qt Quick, and pre-generating them at compile time helps improve application startup performance especially on lower end embedded devices.


Qt Core and Network
Qt Core has gained support for CBOR (Concise Binary Object Representation), a binary format that is similar to JSON, but that allows for a lot more data types and flexibility.
We improved QRegularExpression to support wildcard matches, to let us deprecate the old QRegExp class.
In Qt Network, we added DTLS over UDP support. On macOS and iOS, we now support ALPN and HTTP/2 through the TransportSecurity backend, and we added PKCS#8 support in the generic SSL backend.

Qt Gui and Widgets
On Windows, we are now supporting Windows UI Automation, allowing Qt-based UWP applications to operate with accessibility and programmatic UI control tools. We replaced the tablet/touchscreen/touchpad/mouse input with a unified implementation based on the Windows Pointer Input Messages on Windows 8 and newer. Hardware, like the screen digitizer in the MS Surface line, is now supported without special drivers.
We added lots of predefined gradients for QGradient based on https://webgradients.com/. QImage received support for an RGBA64 image format with 16 bits per color channel. These can be read from PNG- and TIFF-based files and can be uploaded to or grabbed from OpenGL.
Also, did I mention the oodles of bugs we exterminated for Qt Widgets?


Other items
The virtual keyboard now supports 13 additional keyboard layouts as well as MyScript handwriting recognition. It now comes with a public extension API that allows you to define your own layout.
Qt Location now contains an updated MapBox plugin and several minor API enhancements. We have upgraded Qt WebEngine to be based on Chromium 69 and to gain support for client certificates.
Qt for Automation has now updated versions of the KNX and MQTT modules supporting newer protocol versions, and we added support for OPC/UA as a Technology Preview.
What’s more, upcoming Qt 3D Studio 2.2 Studio release will be based on Qt 5.12 LTS.
Finally, Qt 5.12 does also come with a new version of Qt Creator. You can find out all about its new features from a separate blog post.


Thanks
I’d like to thank everybody who has contributed to making Qt 5.12 possible. Special thanks go to KDAB for consistently being the largest contributor to Qt (outside of the Qt Company), Thiago Macieira for his work on maintaining Qt Core and Christian Ehrlicher who has been contributing a huge amount of changes to this release.
So, go ahead and download Qt 5.12 now. As always, it’s available from your Qt Account or qt.io/download.





5人点赞鲜花

1人点赞握手

雷人

13人点赞路过

鸡蛋

刚表态过的朋友 (19 人)

原作者: yafeilinux

yafeilinux和他的朋友们微信公众号二维码

微信公众号

专注于Qt嵌入式Linux开发等。扫一扫立即关注。

Qt开源社区官方QQ群二维码

QQ交流群

欢迎加入QQ群大家庭,一起讨论学习!

相关分类


公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了