Qt &QSS
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的更多相关文章
- Qt qss 使用
1.在资源文件建立一个qss文件.如blue.qss 2. 调用 #include "mainwindow.h" #include <QApplication> #in ...
- QT qss资源文件与代码分离
在最近的Qt相关项目开发中,有不同客户提出更改logo图片的需求,每次更换一张图片需要重新添加到.qrc资源文件,并重新编译源代码生产可执行文件,操作效率极低,频繁修改源代码也 容易引起其他不可靠问题 ...
- QT qss 初级介绍
这篇文章来自于QT的帮助文档,你要是看了最新版的,会发现讲解得更棒.如果你的英文不是那么好,或者说看着头疼,那还是来看此篇吧. 在此之前说一个帮助文档的特别用法,绝不仅仅是搜单词,QT的文档非常强大的 ...
- QT (QSS) 编程, QSS语法概述。。setstylesheet
http://www.cnblogs.com/davesla/archive/2011/01/30/1947928.html 转载] QT皮肤(QSS)编程 借用css 的灵感, Qt也支持Qt自己的 ...
- Qt qss 动态属性-不同条件不同显示
一. 1.为了用户界面外观的动态变化,属性选择器可以与动态属性组合使用. 2.当一个属性值变化时,所引用的样式不会自动更新.相反地,必须手动触发更新才会生效.unpolish()用于清理之前的样式,而 ...
- QT:QSS ID选择器无效
我正在学习使用Qt样式表给我的应用程序添加不同的样式.我上网看了看Qt文档,上面说你可以使用一种ID选择器,它可以把主题应用到某些对象上.我就是这样实现这个特性的: QPushButton#butto ...
- QT:QSS完全无效的原因
QSS的文件格式不是UTF-8,导致读取到的文件中字符串出现乱码.
- qt QSS文件伪状态
表 1. 伪状态列表伪状态 描述:checked button部件被选中:disabled 部件被禁用:enabled 部件被启用:focus 部件获得焦点:hover ...
- Qt qss一些伪装态,以及margin与padding区别
伪状态 描述 :checked button部件被选中:disabled 部件被禁用:enabled 部件被启用:focus 部件获得焦点:hover 鼠标位于部件 ...
随机推荐
- "高大上" 名词整理
大家在和朋友,同行交流时有没有经常遇到各种 "高大上" 的术语,很多词有没有把各位 “鸟哥” 们搞得一头雾水,现在我就把这些 "牛逼" 的东东都罗列一下, 大家 ...
- LAMP和LNMP
编译安装和yum安装 centos 7 可以使用10年 ubuntu可以使用5年 VirtualBox也是一个虚拟机 下载centos 安装centos exit 退出登陆 ping www.ba ...
- [原]CentOS7.2最小安装环境部署Asp.NET Core笔记
转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 写在前面的话 不知不觉在cnblogs上注册已经10多年了,看我的园龄就直接暴露了我实际年龄, ...
- 关于 bind 你可能需要了解的知识点以及使用场景
不看不知道,一看吓一跳,已经整整一个月没有更新 underscore 源码解读系列文章了.前面我们已经完成了 Object ,Array,Collection 上的扩展方法的源码剖析,本文开始来解读 ...
- Mysql查询——学习阶段
1.开篇 搞开发的都知道,当数据量很大的时候,我们的代码逻辑的简单性就显得十分重要,否则处理起来就需要花费相当多的时间.另外还有一个地方需要注意的是我们写的sql语句. 一个拥有多年开发的资深开发者可 ...
- NDT(Normal Distribution Transform) 算法(与ICP对比)和一些常见配准算法
原文地址:http://ghx0x0.github.io/2014/12/30/NDT-match/ By GH 发表于 12月 30 2014 目前三维配准中用的较多的是ICP迭代算法,需要提供一个 ...
- 如何从Exchange邮箱数据库批量删除特定邮件
- Xftp连接linux(ubuntu)时提示ssh服务器拒绝了密码,请再试一次
用xftp root连接时显示ssh服务器拒绝了密码,请重新连接.由于sshd的设置不允许root用户用密码远程登录,修改/etc/ssh/sshd_config文件,但必须是安装了openssh才会 ...
- Eclipse中一个Maven工程的目录结构
在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class.以后的日子中也没有机会注意到一个工程到底是怎么组织的这种问题,跟不要说自己 ...
- Android Studio JNI 开发简单案例
转载:http://www.androidchina.net/5744.html 进程保活,热修复,硬件接入等等都需要底层的支持,而底层代码是 C .C++ 写的,那么在 Android 中怎么调用底 ...