【Qt】New Features in Qt 5.15
00. 目錄
文章目錄
- 00. 目錄
- 01. 概述
- 02. 新功能(within existing modules)
- Qt 3D
- Qt Core
- Qt GUI
- Qt 位置
- Qt 多媒體
- Qt 網絡
- Qt QML
- Qt Quick
- Qt Quick Controls 2
- Qt SerialBus
- Qt WebEngine
- Qt WebSockets
- QDoc
- 03. 平臺變更
- Android
- Wayland
- 嵌入式Linux(eglfs)
- 04. 新模塊
- Qt Quick 3D
- Qt Lottie
- 05. 技術預覽模塊
- 06. Qt自動化
- 07. 即將棄用的模塊
- 08. 長期支持
- 09. 附錄
01. 概述
該文章翻譯至官方網站,所有新特性都是基于在現有模塊中。
原文鏈接:New Features in Qt 5.15
02. 新功能(within existing modules)
Qt 3D
- 改進的性能分析和故障排除支持。
- QSortPolicy添加"統一"模式以控制是否需要執行統一縮小。
- QMouseDevice添加updateAxesContinuously屬性。
- OpenGL Renderer改為插件隔離。
Qt Core
- 新增QFile::moveToTrash接口,用于將文件移動到Windows,macOS和Linux桌面上的垃圾箱/回收站(實現 freedesktop.org規范)。
- 新增QFileInfo::isJunction接口,用于獲取文件系統是否為Windows NTFS結點。
- std::function支持創建QRunnable,而不必將QRunnable子類化。
- QThreadPool的start和tryStart支持使用std::function,因此也可以使用匿名lambda函數作為參數。
- 添加了靜態模板QDebug::toString函數,該函數將給定的對象傳輸到對字符串進行操作的QDebug實例中,然后返回該字符串。這在需要對象的文本表示形式進行調試但不能使用operator<<的情況下很有用,例如將失敗消息傳遞給QVERIFY2時。
Qt GUI
- QColorSpace設置器現在可以在無效的色彩空間上進行操作,使得可以獨立設置基色和傳遞函數。
- 優化了QImage縮放和轉換操作都是多線程。
Qt 位置
- 更新了3rdparty庫快捷方式。
- 將Map *ObjectPrivateQSG移植到基于著色器的投影幾何體。
- 向Map.gitViewportToMapItems添加了可選參數。
Qt 多媒體
- 不推薦使用QMediaService和QMediaControl,及其所有插件API。
- 引入了GStreamer的重播功能。
- 引入了多面渲染。
- 引入了QVideoWidget::videoSurface(), QGraphicsVideoItem::videoSurface()和 QDeclarativeVideoOutput::videoSurface()。
- 為MediaPlayer QML元素引入了videoOutput屬性。
- 引入了QVideoFrame::image()。
- 為GStreamer Camerabin添加了notify::zoom和notify::max-zoom的使用。
Qt 網絡
- OpenSSL后端現在支持TLS 1.3協議引入的新會話票證機制。
- 現在可以為QNetworkRequest和QNetworkAccessManager設置下載和上傳超時。
- 支持的最低OpenSSL版本是1.1。
Qt QML
- 引入了內聯組件(能夠在同一文件中聲明多個QML組件)。
- 引入了一些所需的屬性。
- 添加了一種向QML注冊類型的聲明方式。
- qmllint現在對代碼有更智能的分析,并會警告不推薦使用的QML功能。
- 添加了QML格式化工具,該工具可以根據QML編碼約定自動格式化任何QML文件。
- 添加了對Nullish合并運算符(??)的支持。
- 在圖像節點上添加了colorspace屬性,從而可以讀取顏色空間并將圖像轉換為特定的顏色空間。
Qt Quick
- 添加了PathText類型,該類型可以與Qt Quick Shapes一起使用,以將文本呈現為幾何圖形,而不是基于距離字段或預渲染的紋理。這對于渲染大字體會很有用,否則會占用大量紋理內存。
- 添加了Image.sourceClipRect用于指定剪切區域,以請求圖像插件渲染圖像源的一部分。
- 向指示器添加了cursorShape屬性。當活動狀態為true時,大多數指示器(例如DragHandler)都會更改光標。當鼠標懸停在包含HoverHandler的Item上時,HoverHandler將對其進行更改。
- 現在,獨立于圖形API的渲染架構的可選預覽也支持iOS上的Metal。
Qt Quick Controls 2
- 添加了HorizontalHeaderView和VerticalHeaderView以在TableView中顯示標題數據。支持輕拂同步,以及default, fusion, imagine, material, 和universal的委托樣式。
- 向ComboBox添加了selectTextByMouse屬性。
Qt SerialBus
- 向VectorCAN插件添加了CAN FD支持。
Qt WebEngine
- 更新為基于Chromium 80
- 切換到沙盒網絡服務。
- 用于讀取頁面/視圖的子進程ID的新API。
- 添加WebEngineHistory::clear方法。
Qt WebSockets
- 添加了公共API來設置最大幀大小和消息大小。
QDoc
- QDoc現在可以生成DocBook。
- QDoc現在為C++類和函數模板參數生成輸出。
- 現在,QDoc會為作用域枚舉(枚舉類)生成正確的輸出。
03. 平臺變更
Android
- 默認情況下,使用Android的本機文件對話框進行打開(文件,多個文件,目錄)和保存操作。
- 將minSdkVersion和targetSdkVersion從AndroidManifest.xml移動到build.gradle(QTBUG-70817)。
- 在Android(QTBUG-80717,QTBUG-80716)上修復一些示例。
- 改善所有Android文檔頁面(QTBUG-80390)。
- 添加了Qt Android Extras示例:JNI Messenger。
Wayland
- 在客戶端為Vulkan引入了實驗支持。
嵌入式Linux(eglfs)
- 在基于NXP i.MX8的設備上通過VK_KHR_display添加了對Vulkan的支持。(在eglfs_viv后端中)
- 技術預覽:支持在Direct3D,Metal和Vulkan之上運行Qt Quick(2D)新的渲染硬件接口抽象層使您可以在其他3D圖形API上運行Qt Quick應用程序。
04. 新模塊
Qt Quick 3D
- 后處理效果。
- 自定義幾何API(C ++網格)。
- 用于節點旋轉的四元數API。
( 右手坐標系(以前為右或左)。 - 在3D場景支持中改進了Qt Quick 2D。
- 性能提升
- 聚光燈支持
Qt Lottie
- 適用于After Effects動畫的Bodymovin JSON渲染器。
- 增加了性能和穩定性。
05. 技術預覽模塊
- Qt PDF
- 基于Qt WebEngine的共享Pdfium版本。
- 在同一平臺上可用Qt WebEngine以及iOS可用。
06. Qt自動化
自動化模塊僅收到錯誤修復,沒有添加任何值得注意的功能。
07. 即將棄用的模塊
為了幫助準備過渡到Qt 6,在Qt 5.15版本中已將許多將從Qt 6.0中刪除的類和成員函數標記為已棄用。除非您在項目中定義QT_NO_DEPRECATED_WARNINGS,否則對于使用任何不推薦使用的API的代碼,您都會收到編譯器警告。這些警告將說明要改用哪個API。要完全禁用所有不推薦使用的API,請使用QT_DISABLE_DEPRECATED_BEFORE宏。
以下模塊是Qt 5.15發行版的一部分,但不推薦使用,并考慮在后續的Qt發行版中刪除:
- Qt腳本
- Qt快速控件1
- Qt XML模式
08. 長期支持
對于商業許可證持有者,Qt 5.15 LTS在標準支持下獲得3年的支持,此后還可以獲得擴展支持(額外收費)。
對于開源用戶,Qt 5.15與其他任何Qt功能發行版(在發行下一個版本之前,修補程序發行版一樣)。
友情提示:
-
Qt 5.15 LTS更新于2020-05-26。
-
Qt官網已取消了Qt 5.15版本二進制安裝包。如果要安裝Qt 5.15需要下載源碼自行編譯安裝或使用商業授權版本(可試用體驗)。
-
源碼下載地址:http://download.qt.io/official_releases/qt/5.15/5.15.0/single/
09. 附錄
9.1 New Features in Qt 5.15
網址:New Features in Qt 5.15
總結
以上是生活随笔為你收集整理的【Qt】New Features in Qt 5.15的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【MFC】工具栏按钮追加显示文本
- 下一篇: 【Qt】第一个Qt程序