精華|行業(yè)資訊|編輯:顏馨|2023-05-09 15:46:24.670|閱讀 128 次
概述:本文介紹關(guān)于Qt的快速效果,歡迎查閱!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
Qt 是目前最先進(jìn)、最完整的跨平臺(tái)C++開(kāi)發(fā)工具。它不僅完全實(shí)現(xiàn)了一次編寫(xiě),所有平臺(tái)無(wú)差別運(yùn)行,更提供了幾乎所有開(kāi)發(fā)過(guò)程中需要用到的工具。如今,Qt已被運(yùn)用于超過(guò)70個(gè)行業(yè)、數(shù)千家企業(yè),支持?jǐn)?shù)百萬(wàn)設(shè)備及應(yīng)用。
The Qt Company是Digia Plc旗下的全資子公司。負(fù)責(zé)所有Qt活動(dòng),包括產(chǎn)品開(kāi)發(fā),商業(yè)和開(kāi)源授權(quán)模式以及在開(kāi)放管理模式下的Qt工程。其許可、支持和服務(wù)能力能夠和開(kāi)發(fā)者緊密合作以確保他們的Qt項(xiàng)目準(zhǔn)時(shí)部署,不超預(yù)算并擁有競(jìng)爭(zhēng)優(yōu)勢(shì)。
隨著Qt 6.5 LTS的推出,現(xiàn)在是寫(xiě)更多關(guān)于Qt 6和特效的好時(shí)機(jī),這篇博文對(duì)最新的Qt Quick(2D)特效產(chǎn)品做了一些詳細(xì)介紹。
隨著Qt 6.5的推出,Qt Quick特效的故事已經(jīng)相當(dāng)穩(wěn)固。Qt 5是一個(gè)很好的特效平臺(tái),而Qt 6則更勝一籌。這里有一張小抄的圖片,你可以打印出來(lái)掛在墻上:
讓我們從面包和黃油開(kāi)始,簡(jiǎn)單的效果。這是當(dāng)您想要向UI元素添加投影,模糊面板的背景,使用閾值遮罩元素或只是稍微調(diào)整亮度時(shí)。在這些常見(jiàn)的效果案例中,你的新朋友是Qt快速多效果元素。MultiEffect支持7種效果(模糊,陰影,蒙版,著色,亮度,對(duì)比度和飽和度),當(dāng)然還有所有這些效果的組合。根據(jù)啟用的效果,將使用最佳著色器。由于它使用Qt 6 RHI,著色器自然包含OpenGL,Vulkan,Metal和Direct3D版本,緊湊地打包到qsb文件中。
下面是一個(gè)使用Qt Quick MultiEffect的組件的簡(jiǎn)單代碼示例:
因此,我們首先導(dǎo)入包含MultiEffect的QtQuick.Effects模塊。然后創(chuàng)建一個(gè)“HELLO”文本元素,并為其應(yīng)用帶有陰影和一些著色的多重效果。輸出可以在右側(cè)看到:白色文本變?yōu)榧t色,并帶有模糊的陰影。簡(jiǎn)單而強(qiáng)大!
Qt 6.5包括兩個(gè)MultiEffect示例。因此,如果您想查看更多內(nèi)容,只需在Qt Creator示例視圖中鍵入“MultiEffect”:
有時(shí),實(shí)現(xiàn)設(shè)計(jì)師的愿景需要更專(zhuān)注的方法。事先創(chuàng)建自定義效果通常比在運(yùn)行時(shí)組合著色器/圖像/圖層的性能更高。專(zhuān)門(mén)為此任務(wù)創(chuàng)建的Qt工具稱(chēng)為Qt快速效果制作工具。您可以從簡(jiǎn)介博客文章或示例用法文章中閱讀有關(guān) QQEM 功能的更多信息。
QQEM已經(jīng)在許多項(xiàng)目中使用,當(dāng)它作為Qt 6.5安裝的一部分易于訪問(wèn)時(shí),現(xiàn)在將有更多的項(xiàng)目加入。這
如果您有興趣為您的項(xiàng)目測(cè)試 QQEM,只需按照這些安裝說(shuō)明進(jìn)行操作即可。您還可以打開(kāi)新的 Wiggly 示例,其中包含使用 QQEM 制作的效果。如果要修改效果,請(qǐng)使用QQEM打開(kāi)WigglyEffect.qep項(xiàng)目文件并狂野。
在這種情況下,您可以使用Qt Quick Effect Maker中提供的MultiEffect節(jié)點(diǎn)。此節(jié)點(diǎn)具有與Qt Quick MultiEffect相同的效果API,并且渲染輸出也相同(因?yàn)橹鞔a匹配)。如果您不相信我,請(qǐng)觀察當(dāng)我切換測(cè)試平臺(tái)示例以使用自定義多重效果而不是標(biāo)準(zhǔn)多重效果時(shí)會(huì)發(fā)生什么:
效果輸出保持不變,只是顯示有關(guān) MultiEffect 可以自動(dòng)執(zhí)行的填充的警告。另請(qǐng)注意,對(duì)于“多重效果”節(jié)點(diǎn),在導(dǎo)出效果之前,應(yīng)在 QQEM 屬性視圖中選擇啟用哪些效果,以獲得最佳著色器。Qt Quick MultiEffect包含多個(gè)著色器,因此它可以在運(yùn)行時(shí)選擇最佳著色器。
使用多效果節(jié)點(diǎn),可以根據(jù)自己的喜好自由修改著色器。此外,可以使用任何其他節(jié)點(diǎn)擴(kuò)展它。您可以首先使用簡(jiǎn)單的Qt快速多重效果,然后順利切換到自定義效果。
上述方法是向Qt快速UI添加效果的推薦首選選項(xiàng)。顯然,還有其他選擇。
Qt 圖形效果在 Qt 5 兼容性模塊中仍然可用。我們不建議將它們與新代碼一起使用,但是如果您的應(yīng)用程序使用這些代碼并且它們適合您,請(qǐng)隨時(shí)繼續(xù)使用Qt 6。
同樣,如果你想直接使用 ShaderEffect 元素,這也是一個(gè)有效的選項(xiàng)。從QQEM導(dǎo)出的效果也使用它,所以區(qū)別在于使用QQEM,由于自動(dòng)烘焙,實(shí)時(shí)預(yù)覽,集成屬性,著色器檢查等,您通常具有更好的生產(chǎn)力。但是,如果您已經(jīng)擁有完美的著色器效果,只需將其作為qsb傳遞給ShaderEffect即可。
Qt 6一直有一個(gè)非常強(qiáng)大的架構(gòu),用于使用Qt渲染硬件接口(RHI)和Qt著色器工具來(lái)實(shí)現(xiàn)著色器效果。在Qt 6.5中,我們現(xiàn)在提供了API和工具,使使用這種功能變得更加容易。常見(jiàn)的Qt Quick Effects故事(從Qt 6.5開(kāi)始)可以簡(jiǎn)化為:
對(duì)于簡(jiǎn)單效果,請(qǐng)使用Qt快速多重效果。對(duì)于自定義效果,請(qǐng)使用Qt快速效果制作工具。
歡迎下載|體驗(yàn)更多Qt產(chǎn)品
獲取更多信息請(qǐng)咨詢(xún) ;Qt技術(shù)交流群:166830288
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn