Qt之界面换肤

简述

常用的软件基本都有换肤功能,例如: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”即可。

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

更多参考

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

时间: 2024-09-14 00:00:13

Qt之界面换肤的相关文章

SkinLoad程序界面换肤工具

源代码中包括两个压缩包: SkinLoad.zip为本文示例工程 skinloadv0.3.rar为版本更新SkinLoad v0.3 说明:SkinLoad是一个给程序换肤的工具,通过几个简单的函数调用就可以给你的应用程序加上漂亮的皮肤,包括所有的系统对话框.通过SkinLoadMaker皮肤编辑工具,可以自己定制皮肤. 界面效果图如下:

免费界面换肤软件USkin的使用

一.介绍 我们都知道,Skin以前是一项比较难的技术.但至从WindowsXP推出以来,Skin或者说Theme变得很普遍.虽然WindowsXP可以支持Theme,但当我们改变WindowsXP的风格时,所有支持WindowsXP风格的应用程序都变成一样的风格,如何让我们的软件不仅具备Skin,而且要靓丽更吸引人更有个性更加与重不同呢.这里我给大家推荐一款换肤软件USkin. 为什么要使用USkin? 1.节省您的开发时间.您不必花太多的精力在界面美化上.只需完成软件功能,加入3行代码即可实现

WPF换肤之四:界面设计和代码设计分离

原文:WPF换肤之四:界面设计和代码设计分离 说起WPF来,除了总所周知的图形处理核心的变化外,和Winform比起来,还有一个巨大的变革,那就是真正意义上做到了界面设计和代码设计的分离.这样可以让美工和程序分开进行,而不是糅合在一块,这样做的好处当然也是显而易见的:提高了开发效率. 原先的设计方式 在我们之前设计的代码中,每当添加一个新的窗体的时候,我总是会在这个新的窗体的XAML文件中加入如下的代码,以便使样式能够应用上去: View Code <Window x:Class="Wpf

采用XHTML和CSS设计可重用可换肤网页

css|xhtml|设计|网页 随着XHTML的逐渐推广流行,HTML 在许多场合已经显得过时.World Wide Web Consortium (W3C) 于 2000 年 6 月 26 日发布了 XHTML 的第一个版本作为推荐标准.XHTML 标准的目标是取代 html.按照 W3C 的说法,"XHTML 是 html 的继承者"(http://www.w3.org/MarkUp/). XHTML具有两大目标: 在文档结构和表示形式之间创建更明显的分离. 将 html 重新表示

采用XHTML和CSS设计可重用可换肤的WEB站点

css|web|xhtml|设计|站点 随着XHTML的逐渐推广流行,HTML 在许多场合已经显得过时.World Wide Web Consortium (W3C) 于 2000 年 6 月 26 日发布了 XHTML 的第一个版本作为推荐标准.XHTML 标准的目标是取代 html.按照 W3C 的说法,"XHTML 是 html 的继承者"(http://www.w3.org/MarkUp/).   XHTML具有两大目标:  在文档结构和表示形式之间创建更明显的分离. 将 ht

如何对BCGControlBarPro进行换肤

效果图 图一 我们知道使用VC开发大型的应用系统时,都会碰到一个界面设计和风格布局的问题.如果一切都重头开始设计和编写的话,将会是巨大的工作量.在短时间内很难写出一个比较健壮功能强大的界面系统出来.对软件项目进度也带来了不可预测的风险.在这种形势下BCG库就应运而生了.目前BCG可以做出诸如Visual Studio .Net 2003 ,Outlook等大型界面系统.几乎可以满足目前市场上绝大多数管理信息系统的界面要求.在我所看到的很多ERP,GSP等的MIS软件公司,都在采用BCG系统.该库

TheBeerHouse网站项目学习笔记(1)----换肤技术

对于ASP.NET学习的中期,TheBeerHouse 项目是一个不错的选择,这个项目几乎囊括了所有ASP.NET 2.0 下所有的技术点,而且其设计的类图架构知识值得我们借鉴.关于此项目的介绍,在此不罗嗦,可以参看如下 地址: 1. 源码下载: http://www.asp.net/Downloads/starter-kits/the-beer-house 2. 功能技术点介绍: http://www.codeplex.com/TheBeerHouse 3. 该项目真实网站: http://w

ActiveSkin 4.3软件换肤在VC中的实现

ActiveSkin是一款给软件更换皮肤的ActiveX控件.它很还好的将软件界面设计工作从繁琐程序代码编写中解放出来,使得功能设计者可以专心于功能代码的实现,而把软件界面交给美工人员处理.提高了界面设计的工作效率,是一种很好的软件设计思想. 下面通过三个示例来介绍他的一般使用. 示例一:标准型皮肤SkinForm的对话框工程 在VC环境下建立一个MFC基本对话框工程.在对话框的资源文件里Dlg.rc设计对话框界面中,删去已有的按钮Buttons和标签Lables,并插入ActiveSkin的A

软件换肤技术在BCB中的实现

本文配套源码 看一个软件是否优秀,除了功能健全.性能稳定.容易操作之外,软件界面的美观越来越受到人们的关注.人们不满足于传统的矩形windows窗体,不规则窗体的软件到处可见,更进一步发展到软件界面由用户根据自己的爱好自由控制,真正实现了软件对用户的友好性.而要实现这一功能,软件换肤技术就是基础.下面我就介绍一种简单明了的方法来制作一个登陆对话框 ,本程序编程环境C++Builder: 首先由程序员根据功能要求定义界面元素(控件),特别值得注意的是控件的名字.如下图: 图一:元素界面 其次,美工