如何让QScrollBar在鼠标离开后保持全尺寸显示
让QScrollBar始终保持全尺寸显示(无需重写完整样式表)
不用大改样式表的话,有几个直接的方法可以搞定:
- 关闭自动隐藏属性:QScrollBar默认的
autoHide是开启状态,鼠标离开后会自动收缩隐藏。你只需要给滚动条调用setAutoHide(false),它就不会自动缩起来了。 - 固定最小尺寸:针对垂直滚动条,调用
setMinimumWidth(xx);水平滚动条则用setMinimumHeight(xx),把xx换成你想要的全尺寸数值,确保滚动条始终保持这个最小大小。 - 极简样式表修改(不算重写完整样式):如果上面的方法不够,你可以只修改滚动条的宽/高属性,不用重写整个样式表,比如:
// 垂直滚动条设置固定宽度 yourScrollBar->setStyleSheet("QScrollBar:vertical { width: 18px; }"); // 水平滚动条设置固定高度 yourScrollBar->setStyleSheet("QScrollBar:horizontal { height: 18px; }"); - 用Qt Designer的话更简单:在属性面板里找到
autoHide,把它改成false,再调整minimumWidth或minimumHeight到目标尺寸就行。
这些方法都不需要重写完整的样式表,直接通过属性或极简样式修改就能实现需求。
内容的提问来源于stack exchange,提问作者mikekehrli
相关产品推荐
相关产品推荐

