当使用StyleSheet悬停时,qt扩展了QScrollBar

时间:2014-05-14 15:34:29

标签: c++ qt qtstylesheets qscrollarea

我尝试使用自定义样式表(例如

)更改垂直QScrollBar的宽度
QScrollBar:vertical 
{
     border: 2px solid grey;
     background: #32CC99;
     width: 10px;
     margin: 22px 0 22px 0;"
}
QScrollBar:vertical:hover { 
     background: red; 
     width: 25px ;
}

它不起作用。我犯了什么错吗?我们不能在运行时更改窗口小部件的宽度吗?

2 个答案:

答案 0 :(得分:2)

我不认为有办法单独使用样式表。

您可以创建自己的滚动条并覆盖enterEventleaveEvent并更改其中的样式表。

您还可以在现有滚动条上安装事件过滤器(可以使用QAbstractScrollArea::verticalScrollBar()功能获取滚动条)并收听相同的事件并更改样式表。

答案 1 :(得分:1)

你应该试试

QScrollBar::handle:hover {
    background: red; 
    width: 25px;
}

它对我有用