Qt 5 15 LTS(長期支援版本)正式發布

2021-10-07 03:24:36 字數 2978 閱讀 3711

今天我很高興地宣布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也有很多新特性。

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

基於qt的跨平台承諾,我們希望有乙個適用於所有平台的解決方案。為了實現這一點,我們在一年多以前就開始為所有這些api開發乙個抽象層。我們稱之為qt渲染硬體介面(rhi),可用於在direct 3d、metal、vulkan和opengl上執行qt quick應用程式。它在qt 5.15中以技術預覽形式被支援,您可以通過乙個環境變數啟用qt rhi來使用它。在qt 6中,這一層將成為qt架構的核心部分。

有關rhi的更多細節,請檢視laszlo關於這個主題的系列部落格文章。

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部件的場景,您現在可以輕鬆擁有乙個整合解決方案。

demo | qt quick 3d基準測試應用

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

qt quick 3d新增了大量選項來建立酷炫的新應用程式,其中包括使用者介面中的2d和3d元素。如您所知,我們已經投入了大量的工作來讓設計師通過qt design studio獲得所有這些功能。正因為如此,我非常高興地宣布今天同時發布的qt design studio 1.5也支援qt quick 3d的所有功能。

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

qml元件現在有了新的概念:「required」屬性。這些屬性必須由使用者進行設定。現在可以在qml檔案中內聯指定元件。我們還新增了一種新的宣告式註冊型別。

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

最後,我們還致力於確保qml在qt for mcus和qt 5.15中是相容的。

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 **********現在支援渲染到多個表面上。在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.15!

Qt 5 15中新的QML語言特性

本文翻譯自 new qml language features in qt 5.15 校審 kenny zhang 有時,您的元件需要設定一些屬性,但沒有合適的預設值。例如,您可能關心按鈕的易訪問性 accessibility 因此當您建立了乙個accessiblebutton控制項,它至少應該有乙...