Qt 5.15 LTS(長期支持版本)正式發佈演講稿

Qt 5.15 LTS(長期支持版本)於2020年5月26日正式發佈。

本文翻譯自:Qt 5.15 LTS Released
原文作者:Lars Knoll Qt公司開源項目維護官
校審:於海朋

Qt 5.15 LTS(長期支持版本)正式發佈演講稿

我很高興地宣佈Qt 5.15 LTS(長期支持版本)正式發佈了。Qt 5.15將是Qt 5系列的最後一個新特性版本。因此,它有點特殊,為下一個主要版本Qt 6做了大量準備工作。Qt 5.15將一如既往地支持所有用戶,同時為所有商業許可證用戶提供為期三年的長週期支持,包括全新的Qt for Small Business。三年支持期結束後客戶可以選擇延長支持。

作為Qt 5系列的最後版本,我們希望確保Qt 5.15是一個優秀的版本,您可以輕鬆地將其升級到正在進行的項目中。它與以前的Qt 5版本一樣是完全向後兼容的。Qt 5.15在修復bug方面也做了大量工作,是我們在Qt 5系列中最好、最穩定的版本

Qt 5.15也是通向Qt 6的墊腳石。雖然Qt 6將在Qt的基礎上做出一些實質性的改變,但我們仍試圖儘可能簡單地將代碼庫從Qt 5遷移到Qt 6。為實現這一轉變,我們標記了許多將在Qt 6中廢棄的功能。在5.15中啟用和修復關於廢棄功能的警告,能夠使代碼庫遷移到Qt 6上更容易。

但Qt 5.15也有很多新特性。

3D圖形抽象API

最重要的變化可能發生在圖形方面。很多變化都是在後臺進行的,用戶並不能立即看到它們。在過去的一年中,我們一直致力於圖形渲染堆棧架構的徹底改造。這個升級將成為Qt 6的核心,並且在Qt 5.15中已經可以選擇性啟用。

在Qt 5中我們假設可以使用OpenGL作為3D圖形的跨平臺API,並以此構建了圖形堆棧。在過去的幾年裡,業界發生了巨大的變化,使得開發和部署使用3D圖形的應用程序變得更加複雜。蘋果已經開始著手開發Metal,並且前一段時間在macOS和iOS上棄用了OpenGL。Khronos集團一直致力於用Vulkan取代OpenGL, 並將其推廣到Android和Linux。微軟的Direct 3D 12是一個完全重寫的API,完全不兼容舊的Direct 3D版本。與此同時,OpenGL在相當長的一段時間內都不會消失。

基於Qt的跨平臺承諾,我們希望有一個適用於所有平臺的解決方案。為了實現這一點,我們在一年多以前就開始為所有這些API開發一個抽象層。我們稱之為Qt渲染硬件接口(RHI),可用於在Direct 3D、Metal、Vulkan和OpenGL上運行Qt Quick應用程序。它在Qt 5.15中以技術預覽形式被支持,您可以通過一個環境變量啟用Qt RHI來使用它。在Qt 6中,這一層將成為Qt架構的核心部分。

有關RHI的更多細節,請查看Laszlo關於這個主題的系列博客文章(https://www.qt.io/cn/blog/qt-quick-on-vulkan-metal-direct3d)。

Qt Quick 3D

Qt 5.15的另一個重要的新特性也與圖形有關。在Qt 5.0時代,我們引入Qt Quick作為Qt架構的基石。它的重點是簡化創建動畫、觸摸式的2D用戶界面。現在Qt 5.15完全支持Qt Quick 3D,擴展了易於使用的理念,將3D內容集成到基於Qt Quick的應用程序中。藉助Qt Quick 3D,您可以輕鬆地在QML中定義3D場景,定義網格、光源和材質,並將所有內容與2D UI無縫結合。

之前,可能需要使用不同的技術(使用Qt 3D、Qt 3D Studio或raw OpenGL)分別開發2D和3D部件的場景,您現在可以輕鬆擁有一個集成解決方案。

我們開發了一個很酷的演示,你可以用它測試Qt Quick 3D 5.15的不同功能,比如改變燈光類型和數量,模型複雜性和數量,紋理大小,材質,抗鋸齒方法和質量等等。這樣,您就可以快速地測試,例如,繪製的模型數量對硬件性能的影響是否大於模型中的三角形數量。以下是視頻演示:

播放

暫停

進入全屏

退出全屏

00:00

00:00

重播

刷新

試試

Qt Quick 3D在Qt 5.14中作為技術預覽版引入。Qt 5.15作為完全支持的版本利用了許多額外特性,比如支持後期處理效果,一個用於自定義幾何圖形的全新C++ API,一個用於旋轉的基於四元數的API,以及對聚光燈的支持。現在,由於大量的幕後工作,您可以更容易地在3D場景中使用2D Qt Quick並獲得更好的總體性能。

Qt Design Studio 1.5

Qt Quick 3D添加了大量選項來創建酷炫的新應用程序,其中包括用戶界面中的2D和3D元素。如您所知,我們已經投入了大量的工作來讓設計師通過Qt Design Studio獲得所有這些功能。正因為如此,我非常高興地宣佈今天同時發佈的Qt Design Studio 1.5也支持Qt Quick 3D的所有功能。

Qt QML

在Qt QML中,我們專注於準備Qt 6,這為Qt 5.15帶來了一系列有用的新特性。

QML組件現在有了新的概念:“required”屬性。這些屬性必須由用戶進行設置。現在可以在QML文件中內聯指定組件。我們還添加了一種新的聲明式註冊類型。

我們改進了qmllint工具,能更好地向您預警有關QML代碼庫中可能出現的問題。我們還添加了新的qmlformat工具,可以根據我們的QML編碼風格指南幫助您格式化QML文件。

最後,我們還致力於確保QML在Qt for MCUs和Qt 5.15中是兼容的。

Qt Quick

Qt Quick中還出現了一些新特性。我們為Image元素添加了對顏色空間的支持,併為Qt Quick Shapes添加了一個新的PathText元素。指針處理程序有一個新的cursorShape屬性,用於設置桌面系統上鼠標光標的形狀,新的HeaderView項使向TableView添加水平或垂直表頭更為容易。

其他改進

我們的桌面用戶會很高興發現Qt將更好地支持客戶端/自定義窗口裝飾,允許用戶定義自己的窗口裝飾,並將自定義內容放入窗口標題欄空間。

Qt Lottie是我們在Qt 5.14中作為技術預覽版引入的模塊,現已得到完全支持。該模塊允許用戶將After Effects動畫集成到基於Qt的應用程序中。

Qt WebEngine已經從Qt 5.14中的Chromium 77更新到Chromium 80,並提供了Chromium更新的所有新特性。

Qt 3D獲得了更好的性能分析和調試支持,以及增加了一些較小的新特性。

Qt Multimedia現在支持渲染到多個表面上。在Qt GUI中,現在圖像縮放和轉換例程在許多用例中都是多線程的。

Qt Network現在支持TLS 1.3 session tickets和可配置的超時操作。

QtCore中,QRunnable和QThreadPool現在可以與std::函數一起工作;並且新的QFile::moveToTrash()方法可以跨平臺刪除文件。

最後,我們還在Android上添加了對本地文件對話框的支持。

支持週期

現在所有用戶都可以使用Qt 5.15。對於我們的開源用戶,在Qt 6發佈之前,將以與其他普通Qt版本相同的方式得到支持。對於商業版客戶,Qt 5.15擁有三年的長週期支持(LTS),定期發佈除Qt 6之外的bug修復版本。

請記得Qt 5.9已在5月31日停止支持。雖然我們已經竭盡全力確保升級到Qt 5.15的便捷性,但是如果需要,您仍可選擇延長支持,如任何問題請與我們聯繫。

最後,我要感謝為這次發佈做出貢獻的所有人。

希望你會喜歡Qt 5.15!

Qt中文官網:www.qt.io/cn

Qt5.15下載地址:
https://download.qt.io/official_releases/qt/5.15/

Qt 5.15 LTS(長期支持版本)正式發佈演講稿


分享到:


相關文章: