天天看點

使用QSS動态更換皮膚簡單舉例

最近在看QSS的内容,覺得真是一個十分好用的東西,特來做了一個小例子和大家一起學習下。

下面我主要通過一個小例子說明下如何動态變換皮膚的功能。

首先,先建立一個test.qss檔案,放置在程式目錄下,檔案内容如下:

QPushButton {

color:red;

background-color:#FFFFFF

}

具體含義就是設定QPushButton字型顔色為red,背景顔色為#FFFFFF

接着,我們建立一個QPushButton的對象,當點選這個button時,就加載這個QSS檔案,具體代碼如下:

void MainWindow::loadStyleSheet()

{

QFile qss("test.qss");

qss.open(QFile::ReadOnly);

qApp->setStyleSheet(qss.readAll());

qss.close();

void MainWindow::on_pushButton_clicked()

loadStyleSheet();

最後,就可以看一下效果了,點選按鈕,按鈕的字型顔色和背景顔色就變化了。而你如果想讓他變成不同的顔色,隻需要修改一下qss檔案就可以了,如果你想給按鈕加上背景顔色,也隻需修改修改qss檔案,是不是相當的友善?下面這個是我通過修改qss給程式的視窗加上了一個背景。

使用QSS動态更換皮膚簡單舉例

不需要寫任何的代碼,隻要将qss檔案的内容改為如下:

QMainWindow{

background:url(./Screenshot-1.png)

background-color:#aaaaaa

當然以上隻是一個小小的例子,隻是為了展示qss的功能,更加豐富的内容需要大家自己去嘗試。