使用QSS動態更換皮膚簡單舉例
最近在看QSS的內容,覺得真是一個十分好用的東西,特來做了一個小例子和大家一起學習下。
通過QSS可以實現動態更換QT程序的外觀。具體QSS的內容請看QT皮膚(QSS)編程,這里有QSS的詳細介紹。
下面我主要通過一個小例子說明下如何動態變換皮膚的功能。
首先,先創建一個test.qss文件,放置在程序目錄下,文件內容如下:
QPushButton {
color:red;
background-color:#FFFFFF
}
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();
}
{
QFile qss("test.qss");
qss.open(QFile::ReadOnly);
qApp->setStyleSheet(qss.readAll());
qss.close();
}
void MainWindow::on_pushButton_clicked()
{
loadStyleSheet();
}
最后,就可以看一下效果了,點擊按鈕,按鈕的字體顏色和背景顏色就變化了。而你如果想讓他變成不同的顏色,只需要修改一下qss文件就可以了,如果你想給按鈕加上背景顏色,也只需修改修改qss文件,是不是相當的方便?下面這個是我通過修改qss給程序的窗口加上了一個背景。
不需要寫任何的代碼,只要將qss文件的內容改為如下:
QMainWindow{
background:url(./Screenshot-1.png)
}
QPushButton {
color:red;
background-color:#aaaaaa
}
background:url(./Screenshot-1.png)
}
QPushButton {
color:red;
background-color:#aaaaaa
}
當然以上只是一個小小的例子,只是為了展示qss的功能,更加豐富的內容需要大家自己去嘗試。
0
0
全站熱搜