zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Qt之界面换肤

Qt 界面 换肤
2023-09-27 14:29:30 时间
常用的软件基本都有换肤功能,例如:QQ、360、迅雷等。换肤其实很简单,并没有想象中那么难,利用前面分享过的QSS系列文章,沃我们完全可以实现各种样式的定制!
新建QSS文件 首先,新建两个(按需添加)后缀名为qss的文件,例如:black.qss、white.qss,将它们加入资源文件(qrc)中。

常用的软件基本都有换肤功能,例如:QQ、360、迅雷等。换肤其实很简单,并没有想象中那么难,利用前面分享过的QSS系列文章,沃我们完全可以实现各种样式的定制!

 


效果

这里写图片描述

新建QSS文件

首先,新建两个(按需添加)后缀名为qss的文件,例如:black.qss、white.qss,将它们加入资源文件(qrc)中。

提示:也可以使用绝对路径或相对路径。

编写QSS代码

分别在“black.qss”、“white.qss”文件中编写自己的样式代码,例如:

black.qss:

/**********提示**********/

QToolTip {

 border: 1px solid rgb(45, 45, 45);

 background: white;

 color: black;

}

white.qss:

/**********提示**********/

QToolTip {

 border: 1px solid rgb(111, 156, 207);

 background: white;

 color: rgb(51, 51, 51);

}

QSS代码请参考:Qt之QSS(黑色炫酷)Qt之QSS(白色靓丽),可以直接使用!

加载QSS

为了方便以后调用,可以写一个静态加载样式的函数:

#include QFile 

#include QApplication 

class CommonHelper

public:

 static void setStyle(const QString style) {

 QFile qss(style);

 qss.open(QFile::ReadOnly);

 qApp- setStyleSheet(qss.readAll());

 qss.close();

};

在需要换肤的时候进行全局切换,例如,切换为黑色皮肤:

CommonHelper::setStyle("black.qss");

如果要切换为白色皮肤,只需要将“black.qss”替换为“white.qss”即可。

这样,我们就完成了一个换肤功能,就这么简单!

更多参考 Qt之加载QSS文件 Qt之QSS(语法高亮) Qt之QSS(样式表语法) Qt之QSS(动态属性) Qt之QSS(Q_PROPERTY-原始属性) Qt之QSS(Q_PROPERTY-自定义属性) Qt之QSS(QDarkStyleSheet) Qt之QSS(黑色炫酷) Qt之QSS(白色靓丽)

from:http://blog.csdn.net/liang19890820/article/details/52384042