1、工程目录
2、界面设计
3、mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class QFile;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
/**
* @brief 换肤按钮
*/
void on_pushButton_clicked();
private:
Ui::MainWindow *ui;
QFile *qssFile;
};
#endif // MAINWINDOW_H
4、mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFile>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
qssFile = new QFile(":/resource/qss/old.qss");
qssFile->open(QFile::ReadOnly);
// 使用 tr() 方法将其转换为 QString 类型
QString qssStyleSheet = tr(qssFile->readAll());
// 为应用程序设置样式表
qApp->setStyleSheet(qssStyleSheet);
qssFile->close();
}
MainWindow::~MainWindow()
{
delete ui;
}
/**
* @brief 换肤按钮
*/
void MainWindow::on_pushButton_clicked()
{
if(qssFile->fileName() == ":/resource/qss/old.qss")
{
qssFile->setFileName(":/resource/qss/new.qss");
}
else
{
qssFile->setFileName(":/resource/qss/old.qss");
}
qssFile->open(QFile::ReadOnly);
// 使用 tr() 方法将其转换为 QString 类型
QString qssStyleSheet = tr(qssFile->readAll());
// 为应用程序设置样式表
qApp->setStyleSheet(qssStyleSheet);
qssFile->close();
}