QT setStyleSheet全局應用樣式表


一、目的  通過一個文件,修改所有頁面的樣式布局

二、實現過程

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");
}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM