免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1075 | 回复: 0
打印 上一主题 下一主题

使用QSS动态更换皮肤简单举例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:44 |只看该作者 |倒序浏览
最近在看QSS的内容,觉得真是一个十分好用的东西,特来做了一个小例子和大家一起学习下。
通过QSS可以实现动态更换QT程序的外观。具体QSS的内容请看QT皮肤(QSS)编程,这里有QSS的详细介绍。
下面我主要通过一个小例子说明下如何动态变换皮肤的功能。
首先,先创建一个test.qss文件,放置在程序目录下,文件内容如下:
  1. QPushButton {
  2. color:red;
  3. background-color:#FFFFFF
  4. }
复制代码
具体含义就是设置QPushButton字体颜色为red,背景颜色为#FFFFFF
接着,我们创建一个QPushButton的对象,当点击这个button时,就加载这个QSS文件,具体代码如下:
  1. void MainWindow::loadStyleSheet()
  2. {
  3. QFile qss("test.qss");
  4. qss.open(QFile::ReadOnly);
  5. qApp->setStyleSheet(qss.readAll());
  6. qss.close();
  7. }

  8. void MainWindow::on_pushButton_clicked()
  9. {
  10. loadStyleSheet();
  11. }
复制代码
最 后,就可以看一下效果了,点击按钮,按钮的字体颜色和背景颜色就变化了。而你如果想让他变成不同的颜色,只需要修改一下qss文件就可以了,如果你想给按 钮加上背景颜色,也只需修改修改qss文件,是不是相当的方便?下面这个是我通过修改qss给程序的窗口加上了一个背景。

不需要写任何的代码,只要将qss文件的内容改为如下:
  1. QMainWindow{
  2. background:url(./Screenshot-1.png)
  3. }
  4. QPushButton {
  5. color:red;        
  6. background-color:#aaaaaa
  7. }
复制代码
当然以上只是一个小小的例子,只是为了展示qss的功能,更加丰富的内容需要大家自己去尝试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP