上周的一個私活客戶要求實現一個播放器界面(模仿風行播放器),並能支持動態換膚功能;當然程序是使用Qt(C++)語言開發;基於上述條件,我優先選擇了使用QSS對程序的界面進行美化並換膚;關於QSS,我就不多說了,各位可以參考Qt的幫助文檔一頁一頁的看並加之實踐的話,會明白的。我所實現的播放器界面和風行播放器的界面如下兩圖所示:
圖一、eric實現的播放器
圖二、風行播放器
大家可以對比一下,我所實現的播放器界面和風行播放器的界面幾乎一樣。
程序中沒有使用代碼對界面進行美化,都是用QSS對界面進行美化,而QSS是一種描述性語言,將所有對界面美化的描述語言放到單獨一個文件即可。
程序中用到的部分QSS如下所示:
QMainFrame{ border-image:url(./image/Black.jpg); } QSplitter::handle{ height:2px; background:rgb(20,20,20); } QPushButton{ margin:-1px; border:none; } /*換膚按鈕*/ QPushButton#pushButton_skin{ border-image:url(./image/SkinButtom.png) 0 66 0 0; } QPushButton#pushButton_skin:hover{ border-image:url(./image/SkinButtom.png) 0 44 0 22; } QPushButton#pushButton_skin:pressed{ border-image:url(./image/SkinButtom.png) 0 22 0 44; }