Today task:
解决了qt中的一些控件无法使用qss的问题(如QProgressDialog 调节chunk的颜色,QMessageBox按钮的颜色问题)
1,对于QMessageBox,可以单独设置Button的qss
如:style += QPushButton(color: rgb(...), backround-color: rgb(...); height: 12px };
可是,有些时候,字体颜色无法使用qss所规定的
那么可以使用一下方法来使其生效。

  1. QObjectList objectChildList = msgBox->children();
  2. for(int i=; i<objectChildList.size(); i++)
  3. {
  4.  
  5. QObject *pObj= objChildList.at(i);
  6. if (pObj->inherits("QLabel"))
  7. {
  8. QWidget *pWidget = (QWidget*)pObj;
  9. pWidget->setStyleSheet("color: rgb(255,255,255)");
  10. }
  11. }

然后设置其sytle。

对于QProgressDialog

  1. style +="QProgressDialog{ background-color: rgb(108, 110, 108)}";
  2. style +="QPushButton{color: rgb(255,255,255); background-color: rgb(66, 66, 66);height: 14px; width: 100px}";
  3. style +="QPushButton::hover{color: rgb(255,255,255); background-color: rgb(74, 74, 74);height: 14px; width: 100px}";
  4.  
  5. QObjectList objChildList = qPDlg->children();
  6. for (int i = ; i < objChildList.size(); i++)
  7. {
  8. QObject *pObj= objChildList.at(i);
  9. if (pObj->inherits("QProgressBar"))
  10. {
  11. QWidget *pWidget = (QWidget*)pObj;
  12. QProgressBar *pBWidget = (QProgressBar *)pWidget;
  13. QString sheet;
  14. sheet += "QProgressBar{color: rgb(255,255,255); background-color:rgb(48, 48, 48);border-radius: 2px;}";
  15. sheet += "QProgressBar::chunk{background-color:rgb(176,138,32);}";
  16. pWidget->setStyleSheet(sheet);
  17. pBWidget->setAlignment(Qt::AlignCenter);
  18. }
  19. else if (pObj->inherits("QLabel"))
  20. {
  21. QWidget *pWidget = (QWidget*)pObj;
  22. pWidget->setStyleSheet("color: rgb(255,255,255)");
  23. }
  24. }

3, QTreeView stylesheet

  1. QString style;
  2. style +="QTreeView::Item{background-color:rgb(66, 66, 66);}";
  3. style +="QTreeView::Item::selected{background-color:rgb(0,54,162);}";
  4. style +="QTreeView::Item{color: rgb(255, 255, 255);}";
  5.  
  6. style +="QTreeView::branch:has-siblings:!adjoins-item {background:rgb(0,54,162);}";
  7. style +="QTreeView::branch:has-siblings:adjoins-item {background:rgb(0,54,162);}";
  8. style +="QTreeView::branch:!has-children:!has-siblings:adjoins-item {background:rgb(66, 66, 66);}";
  9. style +="QTreeView::branch:has-children:!has-siblings:closed {background:rgb(108, 110, 108);}";
  10. style +="QTreeView::branch:has-children:!has-siblings:closed:selected {background:rgb(0,54,162);}";
  11.  
  12. style +="QTreeView::branch:open:has-children:!has-siblings:selected {background:rgb(0,54,162);}";
  13. style +="QTreeView::branch:open:has-children:has-siblings:selected {background:rgb(0,54,162);}";//>>>>>>>>>>>>
  14.  
  15. // style +="QTreeView::branch:close:has-children:!has-siblings {background:rgb(108, 110, 108);}";
  16. // style +="QTreeView::branch:close:has-children:!has-siblings:selected {background:rgb(108, 110, 108);}";
  17. style +="QTreeView::branch:close:has-children:has-siblings {background:rgb(66, 66, 66);}";
  18. // style +="QTreeView::branch:close:has-children:has-siblings:selected {background:rgb(0,54,162);}";
  19.  
  20. style +="QTreeView::branch:has-siblings:!adjoins-item {border-image: url(:/Icons/stylesheet-vline.png) 0;}";
  21.  
  22. style +="QTreeView::branch:has-siblings:adjoins-item {border-image: url(:/Icons/stylesheet-branch-more.png) 0;}";
  23.  
  24. style +="QTreeView::branch:!has-children:!has-siblings:adjoins-item {border-image: url(:/Icons/stylesheet-branch-end.png) 0 }";
  25.  
  26. style +="QTreeView::branch:has-children:!has-siblings:closed,QTreeView::branch:closed:has-children:has-siblings {border-image: none;image: url(:/Icons/stylesheet-branch-closed.png);}";
  27.  
  28. style +="QTreeView::branch:open:has-children:!has-siblings,QTreeView::branch:open:has-children:has-siblings {border-image: none;image: url(:/Icons/stylesheet-branch-open.png);}";
  29.  
  30. style += "QTreeView{background: rgb(66, 66, 66);}";
  31. style += "QTreeView::HeaderView{background: rgb(66, 66, 66);}";
  32.  
  33. style += "QHeaderView::section {background-color:rgb(66, 66, 66);color: white; border: 0 px; font-weight: bold;}";
  34. style += "QWidget{background: rgb(66, 66, 66); color: white;}";
  35. setStyleSheet(style);

Qt &QSS的更多相关文章

  1. Qt qss 使用

    1.在资源文件建立一个qss文件.如blue.qss 2. 调用 #include "mainwindow.h" #include <QApplication> #in ...

  2. QT qss资源文件与代码分离

    在最近的Qt相关项目开发中,有不同客户提出更改logo图片的需求,每次更换一张图片需要重新添加到.qrc资源文件,并重新编译源代码生产可执行文件,操作效率极低,频繁修改源代码也 容易引起其他不可靠问题 ...

  3. QT qss 初级介绍

    这篇文章来自于QT的帮助文档,你要是看了最新版的,会发现讲解得更棒.如果你的英文不是那么好,或者说看着头疼,那还是来看此篇吧. 在此之前说一个帮助文档的特别用法,绝不仅仅是搜单词,QT的文档非常强大的 ...

  4. QT (QSS) 编程, QSS语法概述。。setstylesheet

    http://www.cnblogs.com/davesla/archive/2011/01/30/1947928.html 转载] QT皮肤(QSS)编程 借用css 的灵感, Qt也支持Qt自己的 ...

  5. Qt qss 动态属性-不同条件不同显示

    一. 1.为了用户界面外观的动态变化,属性选择器可以与动态属性组合使用. 2.当一个属性值变化时,所引用的样式不会自动更新.相反地,必须手动触发更新才会生效.unpolish()用于清理之前的样式,而 ...

  6. QT:QSS ID选择器无效

    我正在学习使用Qt样式表给我的应用程序添加不同的样式.我上网看了看Qt文档,上面说你可以使用一种ID选择器,它可以把主题应用到某些对象上.我就是这样实现这个特性的: QPushButton#butto ...

  7. QT:QSS完全无效的原因

    QSS的文件格式不是UTF-8,导致读取到的文件中字符串出现乱码.

  8. qt QSS文件伪状态

    表 1. 伪状态列表伪状态    描述:checked    button部件被选中:disabled    部件被禁用:enabled    部件被启用:focus    部件获得焦点:hover  ...

  9. Qt qss一些伪装态,以及margin与padding区别

    伪状态    描述 :checked    button部件被选中:disabled    部件被禁用:enabled    部件被启用:focus    部件获得焦点:hover    鼠标位于部件 ...

随机推荐

  1. JavaScript的two-sum问题解法

    一个很常见的问题,找出一个数组中和为给定值的两个数的下标.为了简单一般会注明解只有一个之类的. 最容易想到的方法是循环遍历,这里就不说了. 在JS中比较优雅的方式是利用JS的对象作为hash的方式: ...

  2. Lua的string和string库总结

    Lua有7种数据类型,分别是nil.boolean.number.string.table.function.userdata.这里我总结一下Lua的string类型和string库,复习一下,以便加 ...

  3. [LeetCode] Boom Enemy 炸弹人

    Given a 2D grid, each cell is either a wall 'W', an enemy 'E' or empty '0' (the number zero), return ...

  4. [LeetCode] Russian Doll Envelopes 俄罗斯娃娃信封

    You have a number of envelopes with widths and heights given as a pair of integers (w, h). One envel ...

  5. [LeetCode] Additive Number 加法数

    Additive number is a positive integer whose digits can form additive sequence. A valid additive sequ ...

  6. [LeetCode] H-Index II 求H指数之二

    Follow up for H-Index: What if the citations array is sorted in ascending order? Could you optimize ...

  7. AngularJS指令

    1. AngularJS指令的特点: AngularJS通过被称为指令的新属性来扩展HTML,指令的前缀为ng-. AngularJS通过内置的指令来为应用添加功能. AngularJS允许你自定义指 ...

  8. JavaEE学习文章汇总-ssm框架

    Spring-SpringMVC-Mybatis 1:Maven创建webapp项目 Maven 下的spring框架(一创建项目) 2:mybatis3 入门教程 mybatis实战教程(mybat ...

  9. vue.js 第二课

    实现响应的数据绑定和组合的视图组件. 让数据与Dom保持同步 . 在使用jq手工操作DOM时,我们的代码常常是命令式的.重复的.易错的.Vue.js拥抱数据驱动的视图概念.简单的讲,它意味着我们在普通 ...

  10. Block常用方法以及注意事项

    1. ViewController间传递数据 2. Block的@property必须定义为copy