使用QSS动态更换皮肤简单举例
2012-08-14 14:41
260 查看
最近在看QSS的内容,觉得真是一个十分好用的东西,特来做了一个小例子和大家一起学习下。
通过QSS可以实现动态更换QT程序的外观。具体QSS的内容请看QT皮肤(QSS)编程,这里有QSS的详细介绍。
下面我主要通过一个小例子说明下如何动态变换皮肤的功能。
首先,先创建一个test.qss文件,放置在程序目录下,文件内容如下:
具体含义就是设置QPushButton字体颜色为red,背景颜色为#FFFFFF
接着,我们创建一个QPushButton的对象,当点击这个button时,就加载这个QSS文件,具体代码如下:
最后,就可以看一下效果了,点击按钮,按钮的字体颜色和背景颜色就变化了。而你如果想让他变成不同的颜色,只需要修改一下qss文件就可以了,如果你想给按钮加上背景颜色,也只需修改修改qss文件,是不是相当的方便?下面这个是我通过修改qss给程序的窗口加上了一个背景。
不需要写任何的代码,只要将qss文件的内容改为如下:
当然以上只是一个小小的例子,只是为了展示qss的功能,更加丰富的内容需要大家自己去尝试。
转自:http://kb.cnblogs.com/a/2156686/
通过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的功能,更加丰富的内容需要大家自己去尝试。
转自:http://kb.cnblogs.com/a/2156686/
相关文章推荐
- 使用QSS动态更换皮肤简单举例
- 使用QSS动态更换皮肤简单举例
- 使用QSS动态更换皮肤简单举例
- 使用QSS动态更换皮肤简单举例
- 安卓之插件化开发使用PathClassLoader来动态更换皮肤
- 轻松实现Android 更换皮肤(主题) - 资源打包为apk,使用AssetManager动态解析调用
- 使用Ruby简单实现的tail命令,支持动态输出
- [ExtJS5学习笔记]第二十九节 sencha ext js 5.1.0中动态更换皮肤主题
- touch命令的使用方法简单举例
- C++动态绑定和模板的简单配合使用(virtual关键字)
- java 1.8 Lambda的简单使用举例
- windows7 64位机上CUDA7.0配置及在VS2010中的简单使用举例
- windows7 64位机上CUDA7.0配置及在VS2010中的简单使用举例
- 一个简单的动态编译器,支持C#和VB.NET。当你想测试一些简单的代码的时候可以使用。
- VLC SDK在VS2010中的配置及简单使用举例
- Windows7下OpenGL简单使用举例
- profile 的使用(更换皮肤转换语言)
- aop学习总结二------使用cglib动态代理简单实现aop功能
- 使用动态SQL语句实现简单的行列转置(动态产生列)
- Leptonica在VS2010中的编译及简单使用举例