QScrollBar上的样式表会留下带有棋盘图案的滚动条背景吗?

时间:2013-07-29 23:05:10

标签: c++ css qt stylesheet

当我使用样式表设置QScrollBar样式时,背景颜色会变成方格而不是实心。

QScrollBar:horizontal {
    background-color: grey;
}

enter image description here

如何使滚动条的背景变为纯色?

1 个答案:

答案 0 :(得分:27)

您所指的“背景”实际上是两个子元素add-pagesub-page。您需要在这些子元素上定义背景元素。

最简单的解决方案是删除两者上的background。然后它会继承您已在grey上设置的背景颜色QScrollBar

QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {
    background: none;
}

enter image description here

但如果需要,您可以根据自己的喜好单独设置每个样式:

QScrollBar::sub-page:horizontal {
    background: red;
}

QScrollBar::add-page:horizontal {
    background: green;
}

enter image description here

Source.

不幸的是,这个解决方案很难从official documentation中得到理解。