Qt之界面换肤【转】
来源:互联网 发布:淘宝 下载 编辑:程序博客网 时间:2024/05/18 09:13
- 简述
- 实现原理
- 效果
- 新建QSS文件
- 编写QSS代码
- 加载QSS
- 更多参考
简述
常用的软件基本都有换肤功能,例如:QQ、360、迅雷等。换肤其实很简单,并没有想象中那么难,利用前面分享过的QSS系列文章,沃我们完全可以实现各种样式的定制!
实现原理
- 新建多个QSS文件
- 为各个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(白色靓丽)【转】
阅读全文
0 0
- Qt之界面换肤【转】
- Qt之界面换肤
- QT自定义精美换肤界面
- QT自定义精美换肤界面
- QT自定义精美换肤界面
- QT自定义精美换肤界面
- C#界面美化之换肤
- MFC界面美化之换肤
- c#界面换肤
- 界面换肤技术
- Qt qrc-换肤
- Qt之动态换图
- MFC界面换肤美化
- 界面换肤,界面自绘源码
- 【转】Qt之界面实现技巧
- qt之自定义界面
- qt换肤功能-qss
- 【Qt】Qt之自定义界面(添加自定义标题栏)【转】
- 2017年11月最新Nagios4.3.4部署 邮件&音频告警 自定义监控脚本
- 日积月累的小技巧
- vSphere Web Client无法连接到一个或多个 vCenter Server 系统(5.5)
- 顺序表的各种基本运算
- 数据结构实验之图论六:村村通公路
- Qt之界面换肤【转】
- 安卓动画
- [Tips] 开发版常见问题集锦
- react实战--antd、react-router-dom v4 解决菜单和地址同步问题
- OpenStack 配置 Dashboard 仪表盘服务(Controller Node)
- JS获取URL中参数值(QueryString)的4种方法
- 【淘宝】图片放大 代码
- java中instanceof用法
- html开发笔记导航栏样式