当我用stylesheet定制QScrollBar时,背景色想用纯色时,却发现是种color-dotted的颜色,并不是纯色。如下:
QScrollBar:horizontal {
background-color: grey;
}

事实上当我们提到的背景实际上是两个子元素add-page 和sub-page 展示的。我们需要重新定义背景上的这两个子元素。
通常的做法是移除这两个子元素,然后背景将会继承QScrollBar的背景色grey :
QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {
background: none;
}

如果你希望,也可以单独定制两子元素你希望的样式:
QScrollBar::sub-page:horizontal {
background: red;
}
QScrollBar::add-page:horizontal {
background: green;
}

本文介绍如何使用stylesheet定制QScrollBar的样式,特别是如何设置其背景颜色为纯色而非默认的color-dotted效果。通过隐藏add-page和sub-page子元素或者单独为它们定义样式,可以实现对滚动条背景色的有效控制。
96

被折叠的 条评论
为什么被折叠?



