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