需求:需要单独修改QScrollBar的滑块颜色
方案:通过setStyleSheet设置QScrollBar::handle:vertical的qss
现象:颜色修改未生效
通过以下方式设置滑块颜色,并未生效
QScrollBar m_pbar = new QScrollBar();
QString sheetstr = QString(QLatin1String(
"QScrollBar::handle:vertical
{
background-color:rgb(50,50,20);
}"
));
m_pbar->setStyleSheet(sheetstr);
生效方案:
QScrollBar m_pbar = new QScrollBar();
QString sheetstr = QString(QLatin1String(
"QScrollBar:vertical
{
background-color:rgb(218,218,218);
padding-top:15px;
padding-bottom:15px
}
QScrollBar::handle:vertical
{
background-color:rgb(50,50,20);
border-radius:3px;
min-height:40px;
}"
));
m_pbar->setStyleSheet(sheetstr);
即必须先设置QScrollBar整体背景,再设置滑块handle,颜色才可以生效