在做Qt项目开发时,会遇到大量重复使用控件样式,这时需要引用QSS文件了。
但是同种控件可能要用到不同颜色显示或者其他样式显示,这时候需要改动QSS文件了
首先先介绍QSS样式(拿滑动条举例子)
以下就是两种不同样式
QScrollBar[single="1"]:vertical
{
width:4px;
background:rgba(255,255,255,0%);
margin:0px,0px,0px,0px;
padding-top:14px;
padding-bottom:14px;
}
QScrollBar[single="2"]:vertical
{
width:4px;
background:rgba(255,255,255,0%);
margin:0px,0px,0px,0px;
padding-top:0px;
padding-bottom:10px;
}
这里用到了属性选择器
QScrollBar[single=“1”]:vertical
代表匹配所有属性single的值为1的QScrollBar类型对象
更多详细可以学习官方文档介绍
Qt5官方文档
下面就定义一个QScrollBar类型对象使用single的值为1的样式
QString strPath = "xxx.qss";
QFile file(strPath);
if (file.open(QIODevice::ReadOnly))
{
QString strStyle = file.readAll();
ui.listView->verticalScrollBar()->setStyleSheet(strStyle);
ui.listView->verticalScrollBar()->setProperty("single",1);
ui.listView->verticalScrollBar()->style()->unpolish(ui.listView->verticalScrollBar());
ui.listView->verticalScrollBar()->style()->polish(ui.listView->verticalScrollBar());
}
还可以直接在UI界面的属性编辑器里直接操作
创建动态属性即可
最后选用你想用的属性值