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

 QObjectList objectChildList = msgBox->children();
for(int i=; i<objectChildList.size(); i++)
{ QObject *pObj= objChildList.at(i);
if (pObj->inherits("QLabel"))
{
QWidget *pWidget = (QWidget*)pObj;
pWidget->setStyleSheet("color: rgb(255,255,255)");
}
}

然后设置其sytle。

对于QProgressDialog

     style +="QProgressDialog{ background-color: rgb(108, 110, 108)}";
style +="QPushButton{color: rgb(255,255,255); background-color: rgb(66, 66, 66);height: 14px; width: 100px}";
style +="QPushButton::hover{color: rgb(255,255,255); background-color: rgb(74, 74, 74);height: 14px; width: 100px}"; QObjectList objChildList = qPDlg->children();
for (int i = ; i < objChildList.size(); i++)
{
QObject *pObj= objChildList.at(i);
if (pObj->inherits("QProgressBar"))
{
QWidget *pWidget = (QWidget*)pObj;
QProgressBar *pBWidget = (QProgressBar *)pWidget;
QString sheet;
sheet += "QProgressBar{color: rgb(255,255,255); background-color:rgb(48, 48, 48);border-radius: 2px;}";
sheet += "QProgressBar::chunk{background-color:rgb(176,138,32);}";
pWidget->setStyleSheet(sheet);
pBWidget->setAlignment(Qt::AlignCenter);
}
else if (pObj->inherits("QLabel"))
{
QWidget *pWidget = (QWidget*)pObj;
pWidget->setStyleSheet("color: rgb(255,255,255)");
}
}

3, QTreeView stylesheet

         QString style;
style +="QTreeView::Item{background-color:rgb(66, 66, 66);}";
style +="QTreeView::Item::selected{background-color:rgb(0,54,162);}";
style +="QTreeView::Item{color: rgb(255, 255, 255);}"; style +="QTreeView::branch:has-siblings:!adjoins-item {background:rgb(0,54,162);}";
style +="QTreeView::branch:has-siblings:adjoins-item {background:rgb(0,54,162);}";
style +="QTreeView::branch:!has-children:!has-siblings:adjoins-item {background:rgb(66, 66, 66);}";
style +="QTreeView::branch:has-children:!has-siblings:closed {background:rgb(108, 110, 108);}";
style +="QTreeView::branch:has-children:!has-siblings:closed:selected {background:rgb(0,54,162);}"; style +="QTreeView::branch:open:has-children:!has-siblings:selected {background:rgb(0,54,162);}";
style +="QTreeView::branch:open:has-children:has-siblings:selected {background:rgb(0,54,162);}";//>>>>>>>>>>>> // style +="QTreeView::branch:close:has-children:!has-siblings {background:rgb(108, 110, 108);}";
// style +="QTreeView::branch:close:has-children:!has-siblings:selected {background:rgb(108, 110, 108);}";
style +="QTreeView::branch:close:has-children:has-siblings {background:rgb(66, 66, 66);}";
// style +="QTreeView::branch:close:has-children:has-siblings:selected {background:rgb(0,54,162);}"; style +="QTreeView::branch:has-siblings:!adjoins-item {border-image: url(:/Icons/stylesheet-vline.png) 0;}"; style +="QTreeView::branch:has-siblings:adjoins-item {border-image: url(:/Icons/stylesheet-branch-more.png) 0;}"; style +="QTreeView::branch:!has-children:!has-siblings:adjoins-item {border-image: url(:/Icons/stylesheet-branch-end.png) 0 }"; 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);}"; 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);}"; style += "QTreeView{background: rgb(66, 66, 66);}";
style += "QTreeView::HeaderView{background: rgb(66, 66, 66);}"; style += "QHeaderView::section {background-color:rgb(66, 66, 66);color: white; border: 0 px; font-weight: bold;}";
style += "QWidget{background: rgb(66, 66, 66); color: white;}";
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. Servlet编程

    Servlet编程 1. servlet概念及相关接口简介 java Servlet是运行在web服务器或应用服务器上的程序,他是作为来自web浏览器或其他HTTP客户端的请求和HTTP服务器山的数据 ...

  2. heredoc技术

    Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术.但是现在的一些论坛程序,和部分文章系统,都巧妙的使用heredoc技术,来部分的实 ...

  3. Nginx模块之http.md

    ngx_http_access_module ngx_http_access_module模块允许限制对某些客户端地址的访问. 访问也可以通过密码,子请求的结果或JWT来限制. 通过地址和密码的同时访 ...

  4. Linux下Source Insight的安装和汉化

    原创文章,转载请注明出处. 工欲善其事,必先利其器.Source Insight绝对是阅读C和C++代码的利器,另外,Source Insight的体量很小,安装便捷,显示直观,比vim+cscope ...

  5. 《中国文明史》系列—外柔 VS 内厉

    读启良的<中国文明史>,里面有谈到外柔而内厉——中国政府自古以来奉行的准则.大致意思是说,我华夏民族对待周边民族,历来是很友好的,即所谓的“柔”,而对待自己人,向来是“刚”或曰“厉”的. ...

  6. [LeetCode] 132 Pattern 132模式

    Given a sequence of n integers a1, a2, ..., an, a 132 pattern is a subsequence ai, aj, ak such that  ...

  7. quartus和modelsim中使用mif和hex文件

    .mif和.hex文件都是Quartus支持的数据文件格式,常被用作内存初始化文件.可是,M odelSim却不支持.mif文件,只支持.hex文件格式,这意味着如果你的设计采用了.mif文件 ,你的 ...

  8. 结构体内嵌函数指针实现C语言面向对象

    结构体内嵌函数指针 #include<stdio.h> void say(int age) { printf("我%d岁了\n",age); } struct stud ...

  9. 修改 jquery.validate.js 支持非form标签

    尝试使用markdown来写一篇blog,啦啦啦 源代码传送门:github 在特殊情况下我们使用jquery.validate.js对用户输入的内容做验证的时候,表单并不是一定包含在form之中,有 ...

  10. Visual Stdio 无法直接启动带有“类库输出类型”的项目若要调试此项目,请在此解决方案中添加一个引用库项目的可执行项目。将这个可执行项目设置为启动项目!

    j解决方法:项目-属性-应用程序-输出类型-Windows应用程序