QFile 打开文件并setStyleSheet使其生效
centralWidget = new QWidget(this);
centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
/*设置全局布局*/
centralWidget->setStyleSheet(styleSheet);
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->loadStyleSheet(":/qss/myStyleSheet.qss");
}
void MainWindow::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();
}
else
{
QMessageBox::information(this,"tip","cannot find qss file");
}
}
//QT qss样式文件切换
void MainWindow::on_pushButton_clicked()
{
// qDebug()<<"Test***********************";
if(qssFile->fileName()==":/qss/style1.qss")
{
qssFile->setFileName(":/qss/style2.qss");
}
else
{
qssFile->setFileName(":/qss/style1.qss");
}
qssFile->open(QFile::ReadOnly);
QString styleSheet=QString(qssFile->readAll());
qApp->setStyleSheet(styleSheet);
qssFile->close();
}