隨著Qt 6.8 Beta 3上周發布,現在是開始討論Qt 6.8版本中的新功能的好時機。這篇博客文章介紹了其中一件事,Qt Quick effect Maker中提供的新效果節點。還包括一個使用所有這些效果的示例應用程序。
讓我們先簡要瀏覽一下所有新節點:
發光
此節點創建光暈效果,類似于Qt圖形效果中的光暈。它使用與其他需要模糊的節點相同的BlurHelper節點。有不同的發光模式和其他屬性可以在運行時調整發光外觀。
蒙面模糊
用戶要求的另一個可定制的模糊效果是新的MaskedBlur節點。與Qt Graphical Effects MaskedBlur相比,此模式還包含一個替代模式,可以使用位置和半徑值調整模糊量,而不僅僅是模糊遮罩圖像。這使得為模糊設置動畫更容易、更高效。
精靈動畫
說到動畫,還有一個名為SpriteAnimation的新節點。此節點允許使用精靈表的效果,類似于Qt Quick AnimatedSprite元素。幀插值屬性提供了更平滑的動畫,但由于需要兩次紋理查找而不是一次,因此需要一些開銷。幀計算主要在頂點著色器側進行,以獲得最佳性能。
Bars
Bars效果節點渲染-驚喜-動畫條形圖。條形圖具有可自定義的顏色、寬度、角度和動畫速度。此效果節點類似于實時著色器編碼教程中實現的效果節點,如果您有興趣使用QQEM創建自己的自定義著色器效果,我建議您查看此視頻。
圓圈結束
最后但并非最不重要的一點是,QQEM現在還包含CircleBend效果節點。此節點將源項彎曲成圓/弧,在實現圓形UI元素時非常有用。由于彎曲是在頂點著色器中完成的,因此可以減少更改的像素量,這當然對性能有好處。
示例用法
那么,這些新的特效能做什么呢?為了給出一些想法,我決定實現一個利用上述所有效果的示例應用程序。它看起來像這樣:
該示例的源代碼可在https://git.qt.io/kagronho/circlebarsui.我不打算在這里詳細介紹它們,但會簡要解釋一下效果用法。背景顯示MaskedBlur為聚焦位置設置動畫。左側的儀表使用條形圖效果來渲染條形圖,這使其可以完全擴展。輝光效果應用于條形圖和CircleBand,然后將此條形圖+輝光組合彎曲成圓形儀表。使用SpriteAnimation為儀表內的心臟設置動畫。其中一些效果按原樣使用,另一些則包含自定義和添加,以滿足UI需求。像藍莓派配冰淇淋一樣簡單順滑。好吃!
為了直觀地展示此組件的可定制性和性能,該示例還包含一個50個隨機主題圓條的動畫視圖。此視圖可能看起來像這樣:
就是這樣!現在,請隨時安裝Qt 6.8的最新(測試版)版本,請報告發現的任何問題,并測試這些新的QQEM效果。