前沿拓展:
win10 氣泡屏保
方法/步驟
第一,我們打開右鍵,來自點擊個性化。
第二,我們點擊鎖屏界面,把他拖下來。
我們會看到有一個屏幕保護(hù)程序,點開它,
最后一步,我們選擇氣泡,當(dāng)然,大家也可以選擇別的,第二設(shè)置-確定,
前言
還記得剛推出屏幕保護(hù)功能那會兒,小編偶逛論壇,圍觀大家對這個功能的評價。其中讓我印象最深的一句話就是:“一股Windows98風(fēng)”,小編綜合來說,評價小編綜合來說出來就是一個字:“吃藕”。
大家追求美好事物的誠摯之心深深地打動了我,而且,小編個人做事情稍有些未雨綢繆,在屏幕保護(hù)程序開發(fā)之初,就已經(jīng)定好了易于擴(kuò)展的架構(gòu),所以我當(dāng)時就下定了決心,為大家開發(fā)一個非Windows98風(fēng)格的屏保。
為了達(dá)到絕對“非Windows98”的目的,小編特意選擇了Windows10中的默認(rèn)屏保作為參考,在無數(shù)個周末的戰(zhàn)斗下,最終成功將名為“泡泡”的屏保應(yīng)用發(fā)布到了商店。(項目地址:https://github.com/zccrs/screensaver-pp )
本著“授人以魚不如授人以漁”的理念,小編特地整理了這篇文章協(xié)助大家開發(fā)一款屬于自己的時尚屏保應(yīng)用。
正文
在Linux+X11生態(tài)環(huán)境中,xscreensaver是最“流行”的屏幕保護(hù)程序,有著非常多的屏保資源,所以deepin-screensaver必然要兼容它的資源。但是,xscreensaver對屏保資源的擴(kuò)展方式并不符合deepin的開發(fā)理念,因此,deepin-screensaver實現(xiàn)了一套全新的屏保擴(kuò)展方式。
支持使用Qt qml模塊編寫屏保應(yīng)用,一個標(biāo)準(zhǔn)的屏保應(yīng)用只需要包含一個 “xx.rcc”文件,將文件安裝到/usr/lib/deepin-screensaver/resources目錄。
rcc 格式是一個編譯之后的Qt資源文件,在這個資源文件中至少要包含兩個文件:qml代碼文件、屏保封面圖。
圖中文件名括號內(nèi)為其別名,也就是屏保主應(yīng)用加載文件時能讀取到的文件名。
qml代碼文件:屏保應(yīng)用的代碼入口,會被屏保主程序加載顯示
屏保封面圖:設(shè)置屏保入口顯示的預(yù)覽圖,支持svg png jpeg bmp等格式
所有的文件必須以特定的目錄結(jié)構(gòu)組織到一個Qt資源文件(qrc文件),以“泡泡”屏保為例:qml.qrc 為其資源文件,包含三個前綴路徑:
/deepin-screensaver/modules:放置屏保應(yīng)用的主qml文件,此路徑下的所有qml文件都會被當(dāng)做一個**的屏保應(yīng)用,因此,項目中的其它文件需要額外建立新的前綴放置。
/deepin-screensaver/modules/cover:放置屏保應(yīng)用封面圖文件,文件名稱必須和modules目錄中的qml文件一致,且包含它的 “.qml” 后綴。如圖上,qml文件全名為:”pp.qml”,封面圖全名為:”pp.qml.svg”。
/deepin-screensaver/modules/pp:此前綴不是必須的,用于放置項目中的其它文件。為了不與其它項目產(chǎn)生沖突,建議使用項目名作為目錄名稱。
資源文件最好以項目名稱命令,避免和其它屏保應(yīng)用沖突。
另外,大家可能已經(jīng)發(fā)現(xiàn)了,這三個前綴都有一個共同點,那就是以“/deepin-screensaver/modules”開頭,的確,這是一個格式要求,不能隨意更改路徑。
主qml文件作為屏保應(yīng)用的入口,它的根元素一定要設(shè)置:
這樣才能確保屏保應(yīng)用充滿整個屏幕。在多屏的情況下下,會創(chuàng)建多個窗口示例,可根據(jù)屏幕繪制不同的屏保內(nèi)容。
項目編譯其實很簡單,只需要使用Qt提供的rcc命令將qrc文件編譯為rcc文件即可,使用qmake構(gòu)建系統(tǒng)時,可以在pro文件中調(diào)用以下命令:
當(dāng)然,最后不要忘記將xx.rcc文件安裝到deepin-screensaver所要求的目錄。做完這所有的步驟后,回到桌面,在右鍵菜單中選擇“壁紙與屏?!?,切換到屏保設(shè)置后即可看到新添加的屏保應(yīng)用。
另外,deepin-screensaver為qml提供了獲取當(dāng)前屏幕截圖的接口,只需要為Image項指定特定的路徑即可:
由于要獲取屏幕名稱,上述代碼需要 “import QtQuick.Window 2.2”使用。
后記
屏保封面圖最佳比例為:8:5,推薦使用svg格式,以更好的適應(yīng)高分屏縮放。推薦大家使用Qt Creator作為項目的開發(fā)工具,可以方便的編輯qrc文件。泡泡屏保是一個完整的demo,有任何疑問的地方都可以以其作為參考。
參考“泡泡”屏保項目:https://github.com/zccrs/screensaver-ppQt資源文件: https://doc.qt.io/qt-5/resources.html
拓展知識:
原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請注明出處:http:///133293.html