qt QScrollBar 滚动条分为竖直与水平滚动条,两者设置上类似,但也有一些不同,下面主要讲述美化及注意事项。
一、竖直滚动条
竖直滚动条分为7个部分: sub-line、 up-arrow 、sub-page、 hanle、 add-line、 dow-arrow、 add-page 其中,sub-line区域包含up-arrow区域,add-line区域包含down-arrow区域。
handle是滚动条的滑块部分。
问题:
想要定制化设置滚动条: 滚动条宽度40,上下箭头高度设置50,滑块长度100。
实现的具体代码如下:
ui->tableWidget->setStyleSheet("QScrollBar::vertical { width: 40px; border:0px ;padding:50px 0px 50px 0px;}"
"QScrollBar::handle:vertical {background:#CDCDCD;border-radius:3px;min-height: 100px;width:40px; }"
"QScrollBar::add-line:vertical {height: 50px;subcontrol-origin:margin;}"
"QScrollBar::sub-line:vertical {background:red;height: 50px;subcontrol-origin:margin; }"
"QScrollBar::up-arrow:vertical {background:green;subcontrol-origin: margin; height: 40px; border-image: url(:/res/image/arrow-drop.png);}"
"QScrollBar::down-arrow:vertical {subcontrol-origin: margin; height: 40px; border-image: url(:/res/image/arrow-drop.png);}"
);
注意:
1. 通过 实际效果图可以看到,sub-line区域比up-arrow区域大
2. 要想上下箭头区域显示,必须设置border、padding或 border、margin
QScrollBar::vertical { width: 40px; border:0p