一、目的 通過一個文件,修改所有頁面的樣式布局
二、實現過程
1、新建一個TXT文檔,后綴修改為qss
QWidget
{
background-color:#C6D7F7;
color:black;//修改字體
}
QPushButton
{/*按鈕無任何操做時*/
background-color:#D6C3DD;/*背景色*/
}
QPushButton:hover
{ /*鼠標懸停在按鈕上時*/
background-color:white;
}
QPushButton:pressed
{ /*按鈕被按下時*/
background-color:#D6C3DD;
}
二、代碼調用 窗口的構造函數中直接調用
void MainWin::loadStyleSheet(const QString &styleSheetFile)
{
QFile file(styleSheetFile);
file.open(QFile::ReadOnly);
if (file.isOpen())
{
QString styleSheet = this->styleSheet();
styleSheet += QLatin1String(file.readAll());//讀取樣式表文件
this->setStyleSheet(styleSheet);//把文件內容傳參
file.close();
qApp->setStyleSheet(styleSheet); //這句可以直接刷新背景色
}
else
{
QMessageBox::information(this,"tip","cannot find qss file");
}
}
void MainWin::changeSkin(int colorflag)
{
this->colorSkin=colorflag;
if(colorSkin==0)
{
this->loadStyleSheet("./resource/Mystylesheet.qss");
}
else if(colorSkin==1)
{
this->loadStyleSheet("./resource/nightStyle.qss");
}
}
