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

Cor*_*ein 12 css c++ qt stylesheet

当我QScrollBar使用样式表来设置样式时,背景颜色是格子而不是实心.

QScrollBar:horizontal {
    background-color: grey;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

Cor*_*ein 31

你所说的"背景"实际上是两个子元素add-pagesub-page.您需要在这些子元素上定义背景元素.

最简单的解决方案是删除background两者.然后它将继承grey您已经设置的背景颜色QScrollBar:

QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {
    background: none;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

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

QScrollBar::add-page:horizontal {
    background: green;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

资源.

不幸的是,这个解决方案很难从官方文档中看出来.