我正在尝试使用样式表更改
QGraphicsView
中滚动条的背景颜色。但它也将处理程序的形状从漂亮的圆条变成了丑陋的矩形。是否可以保留原来的形状?这是代码:
QString style = R"( QScrollBar:vertical {
background: rgb(61,61,61);
}
QScrollBar::handle:vertical {
background: rgb(119,119,119);
min-width: 20px;
}
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
background: none;
})";
myGraphicsView->setStyleSheet(style);
这是原来的样子:
这是设置样式表后的结果(现在手柄是矩形的):
对于OP来说有点晚了,但对于其他人来说......
我会尝试为您的手柄添加更具体的样式。
我在去年成功工作的应用程序级样式表中有以下内容
QScrollBar:vertical {
border: 1px solid #5c5c5c; /* If this isn't specified... OMG */
/*background: yellow;*/
width: 50px;
margin: 35px 0 35px 0px;
}
QScrollBar::handle:vertical {
/*background: green;*/
min-height: 35px;
}
我怀疑在没有应用样式的情况下,系统默认的“本机”样式用于整个滚动条。如果您应用样式的一个元素,则会显式绘制一个(简单)默认样式,并且您的样式将应用到该样式。因此,如果您仅指定滚动条的背景颜色,您将获得手柄的默认样式。因此,您想要指定句柄的大部分组件,使其看起来像本机系统一样 - 边框样式、颜色、边框半径...
我实际上从我的应用程序中清除了滚动条,现在我不记得如果您不指定边框会发生什么 - 但它一定非常难看! (我的审美标准很低……)