使用QSS动态更换皮肤简单举例

简介: 最近在看QSS的内容,觉得真是一个十分好用的东西,特来做了一个小例子和大家一起学习下。通过QSS可以实现动态更换QT程序的外观。具体QSS的内容请看QT皮肤(QSS)编程,这里有QSS的详细介绍。下面我主要通过一个小例子说明下如何动态变换皮肤的功能。

最近在看QSS的内容,觉得真是一个十分好用的东西,特来做了一个小例子和大家一起学习下。
通过QSS可以实现动态更换QT程序的外观。具体QSS的内容请看QT皮肤(QSS)编程,这里有QSS的详细介绍。
下面我主要通过一个小例子说明下如何动态变换皮肤的功能。
首先,先创建一个test.qss文件,放置在程序目录下,文件内容如下:

 
 
QPushButton {
color:red;
background
- color:#FFFFFF
}

具体含义就是设置QPushButton字体颜色为red,背景颜色为#FFFFFF
接着,我们创建一个QPushButton的对象,当点击这个button时,就加载这个QSS文件,具体代码如下:

 
 
void MainWindow::loadStyleSheet()
{
QFile qss("test.qss");
qss.open(QFile
: :ReadOnly) ;
qApp->setStyleSheet(qss.readAll());
qss.close();
}

void MainWindow::on_pushButton_clicked()
{
loadStyleSheet();
}

最后,就可以看一下效果了,点击按钮,按钮的字体颜色和背景颜色就变化了。而你如果想让他变成不同的颜色,只需要修改一下qss文件就可以了,如果你想给按钮加上背景颜色,也只需修改修改qss文件,是不是相当的方便?下面这个是我通过修改qss给程序的窗口加上了一个背景。

不需要写任何的代码,只要将qss文件的内容改为如下:

 
 
QMainWindow {
background
: url(./Screenshot-1.png)
}
QPushButton
{
color
: red ;
background-color
: #aaaaaa
}

当然以上只是一个小小的例子,只是为了展示qss的功能,更加丰富的内容需要大家自己去尝试。

目录
相关文章
|
3月前
|
前端开发 图形学
小功能⭐️3DCanvas交互方法、Unity自动调整文本框大小、改变文字大小和颜色
小功能⭐️3DCanvas交互方法、Unity自动调整文本框大小、改变文字大小和颜色
|
6月前
|
编译器 C++
VS编译器更换背景壁纸逐步图示教程
VS编译器更换背景壁纸逐步图示教程
81 1
|
6月前
|
前端开发 小程序
uniapp 将标题背景更换背景图片 完美解决(附加源码+实现效果图)
uniapp 将标题背景更换背景图片 完美解决(附加源码+实现效果图)
830 0
echarts仪表盘更换样式全圆形换成半圆
echarts仪表盘更换样式全圆形换成半圆
126 0
|
小程序 前端开发 程序员
让别人的小程序长成自己的样子-更换window上下颜色--【浅入深出系列001】
让别人的小程序长成自己的样子-更换window上下颜色--【浅入深出系列001】 这是我的CSDN 的文章 转过来,可能有些许错误。请留言
|
C++
VS、ReSharper 设置修改代码颜色、提高代码辨识度!附VS超实用快捷!
ReSharper 配置代码颜色 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) ...
4930 0
|
C++
duilib corner属性的贴图技巧——让图片自动贴到控件的的某一边或者一角并自适应控件的大小
转载请说明原出处,谢谢~~          Duilib给控件贴图功能可以附带多个属性,各个属性的配合可以达到许多效果。以下是duilib支持的所有贴图属性: 贴图描述:          Duilib的表现力丰富很大程度上得益于贴图描述的简单强大。
1810 0
|
计算机视觉
Qt实用技巧:Qt设计器中QIcon的缩放(qss的放大和QIcon自动缩小(无法自动放大))
Qt实用技巧:Qt设计器中QIcon的缩放(qss的放大和QIcon自动缩小(无法自动放大))
Qt实用技巧:Qt设计器中QIcon的缩放(qss的放大和QIcon自动缩小(无法自动放大))
|
C#
WPF 动态更换样式文件
原文:WPF 动态更换样式文件   ApplySkinFromMenuItem("Style/BigImgStyle.xaml", "Style/FileListStyle.xaml");     //换肤        void ApplySkinFromMenuItem(string sou...
963 0
下一篇
无影云桌面