qt编写网易云界面(13)----一键换肤模块
有关一键换肤,我们可以加载不同的qss文件对应其经行改变,这里模仿网易云,一键换肤的功能,直接看写过的部分。
代码这周就上传了,想要代码的朋友,记得关注与点赞,让我们共同进步。
这里我放入了6个模块颜色,我实现了5个,剩下的一个,希望可以拿到源码的部分的,可以自己尝试修改。
换肤结果:
红色:
蓝色:
粉色:
绿色:
黄色:
其实这些都是加载对应qss 文件,文件图:
代码部分:
#ifndef CHANGECOLORFORM_H
#define CHANGECOLORFORM_H#include <QWidget>namespace Ui {
class ChangeColorForm;
}class ChangeColorForm : public QWidget
{Q_OBJECTpublic:explicit ChangeColorForm(QWidget *parent = nullptr);~ChangeColorForm();
protected:void leaveEvent(QEvent *event);
private slots:void on_ptnRed_clicked();void on_ptnBlue_clicked();void on_ptnPink_clicked();void on_ptnOrange_clicked();void on_ptnYellow_clicked();void on_ptnGreen_clicked();private:Ui::ChangeColorForm *ui;
};#endif // CHANGECOLORFORM_H
#include "changecolorform.h"
#include "ui_changecolorform.h"
#include "loadfileqss.h"
ChangeColorForm::ChangeColorForm(QWidget *parent) :QWidget(parent),ui(new Ui::ChangeColorForm)
{ui->setupUi(this);setAttribute(Qt::WA_StyledBackground); //设置样式表this->setStyleSheet("QWidget{border:1px; background:rgb(255,255,255); border-radius:8px;}""QWidget:hover{background:rgb(255,255,255);}");ui->ptnRed->setStyleSheet("QPushButton{background:rgb(236,65,65); border:0px;}");ui->ptnBlue->setStyleSheet("QPushButton{background:rgb(57,175,234);border:0px;}");ui->ptnPink->setStyleSheet("QPushButton{background:rgb(255,122,158);border:0px;}");ui->ptnOrange->setStyleSheet("QPushButton{background:rgb(226,171,18);border:0px;}");ui->ptnYellow->setStyleSheet("QPushButton{background:rgb(249,238,90);border:0px;}");ui->ptnGreen->setStyleSheet("QPushButton{background:rgb(106,204,25);border:0px;}");
}ChangeColorForm::~ChangeColorForm()
{delete ui;
}void ChangeColorForm::leaveEvent(QEvent *event)
{Q_UNUSED(event);this->close();
}void ChangeColorForm::on_ptnRed_clicked()
{LoadFileQss::setStyle("./FileColorQSS/Red.qss"); //加载qss 样式表,用静态方式
}void ChangeColorForm::on_ptnBlue_clicked()
{LoadFileQss::setStyle("./FileColorQSS/Blue.qss"); //加载qss 样式表,用静态方式
}void ChangeColorForm::on_ptnPink_clicked()
{LoadFileQss::setStyle("./FileColorQSS/Pink.qss"); //加载qss 样式表,用静态方式
}void ChangeColorForm::on_ptnOrange_clicked()
{LoadFileQss::setStyle("./FileColorQSS/Orange.qss"); //加载qss 样式表,用静态方式
}void ChangeColorForm::on_ptnYellow_clicked()
{LoadFileQss::setStyle("./FileColorQSS/Yellow.qss"); //加载qss 样式表,用静态方式
}void ChangeColorForm::on_ptnGreen_clicked()
{LoadFileQss::setStyle("./FileColorQSS/Green.qss"); //加载qss 样式表,用静态方式
}
静态加载qss
#ifndef LOADFILEQSS_H
#define LOADFILEQSS_H#include <QApplication>
#include <QFile>class LoadFileQss
{
public:static void setStyle(const QString& fileName){QFile fileQss(fileName);fileQss.open(QFile::ReadOnly);qApp->setStyleSheet(fileQss.readAll());fileQss.close();}
};#endif // LOADFILEQSS_H
喜欢我的,可以关注我博客,相关代码很快上传。
qt编写网易云界面(13)----一键换肤模块相关推荐
- qt编写网易云界面(10)----排行榜模块
这个模块东西感觉不是很多,其实在,开发的时候细节还是很麻烦的,本以为2个小时绝对搞定,结果搞了半天,不过也想到了很多方式去实现对应的效果,希望大家能够喜欢. 喜欢我,点赞加关注我偶,很快会把整个项目给 ...
- qt编写网易云界面(16)---- 源码与感想
前言: 网易云这个项目弄完了,不知道为何,做完后有点点失落感,当时没有考虑到后面会有小伙伴们想要学习这个代码,所以在项目开始的时候做的非常错乱,很多现在看看都是非常低级的问题. 这个项目算是刚接触qt ...
- qt编写网易云界面(7)----个性推荐界面
前段时间把qt网易云中的轮播图,写了一下,多谢谢建波大佬给的指点,后期我也会把源码发到git 上,让大家快点了解,喜欢我博客,可以关注我,私信我可以提前得到当前代码.(看到必回) 我们目标的网易云界面 ...
- qt编写网易云界面(8)----专属定制界面
前段时间把qt网易云中的简单的画廊写了一下,多谢狗哥大佬给的指点,后期我也会把源码发到git 上,让大家快点了解,喜欢我博客,可以关注我,私信我可以提前得到当前代码.(看到必回) 我们目标的网易云界面 ...
- qt编写网易云界面(5)----搜索框的实现
我们知道当我们点击网易云的搜索框的时候,会出现对应的搜索内容. 如下图: 滑块可以滑动,选择对应的模块 我实现的部分: gif显示的还是不是那么好.下面简单实现过程: 主页面使用过滤器,构造函数中: ...
- qt编写网易云界面(3)----列表框的实现
今天完成列表框的数据,我们来看下,原版网易云部分: 我们要实现的就是左边的部分,标题栏与下面控制栏都已经写完毕.详细可以看我前面播客. 目前完成的部分: 首先要说明一下,里面会有些不同,毕竟我找不到图 ...
- qt编写网易云界面(6)----个人中心的实现
我们点击网易云的个人中心的时候. 目前我实现的部分: 还是有点区别的,这部分动态图如下: 这里personform.ui布局部分: personform.h #ifndef PERSONFORM_H ...
- 网易云--手机QQ的换肤是怎么做到的,你对换肤有了解吗?看过换肤的原理没?
面试官: 网易云QQ的换肤是怎么做到的,你对换肤有了解吗?看过换肤的原理没? 心理分析:没有接触过换肤技术 第一次听到该名词肯定会很茫然.面试官考的是对资源加载,监听布局,有没有了解.本文从换肤实战一 ...
- 基于qt实现网易云界面轮播效果实现
基于qt实现网易云音乐的轮播效果 网易云轮播效果 前言 其实主要是想做点记录吧,本人比较喜欢音乐,所以在上周决定在搭建一个网易云的界面框架,不做不知道,做了才发现qt还有很多的框架是自己不太熟悉的. ...
最新文章
- 机器学习必知的8大神经网络架构和原理
- 曲线拟合最小二乘法优缺点_最小二乘法的优缺点
- QQ音乐的各种相关API
- Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)
- [SDOI2011] 计算器
- python字符串索引必须是整数_TypeError:在Python中,字符串索引必须是整数
- silverligh的数据访问
- C++ list容器
- 总结全网最全的数据学习平台
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
- 第六章jQuery选择器
- 随机森林回归简单示例
- .cpp文件转换为.exe文件过程(C++)
- android聊天室背景图片,32张漂亮的自然风光微信7.0聊天背景图片推荐 唯美自然风景手机壁纸 (全文)...
- Docker_尚硅谷视频学习笔记
- Golang(二十八)[map-底层数据结构]
- 【iOS】调用百度、高德地图SDK
- ios开发特殊符号大全:字符+键盘符...
- 新版标准日本语初级_第三十三课
- 非标机械设计Excel表格伺服电机选型计算公式软件机器设备自动化