我们公司的项目用到qwebview控件来显示html界面,关于这个qwebview控件的介绍我就不多说了,主要说说一个有意思的滚动条自定义。
QWebView控件的qss是改不了QScrollBar的样式的,也就是说常用来该滚动条样式的qss代码例如:
setStyleSheep("QScrollBar:vertical{\
width:8px;\
background:rgba(255,255,255,100%);\
margin:0px,0px,0px,0px;\
padding-top:9px; \
padding-bottom:9px;\
}");
对于QWebView控件来说是没效果的,那该怎么修改呢?
很简单,QWebView控件是基于webkit的浏览器控件,webkit是可以通过css3.0来修改浏览器的滚动条样式的,废话不多说,直接上代码:
/* 滚动调样式 */
::-webkit-scrollbar-button{/*...*/}
::-webkit-scrollbar-track-piece{/*...*/}
::-webkit-scrollbar-corner{/*...*/}
::-webkit-resizer{/*...*/}
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.2);
border-radius: 4px;
}
::-webkit-scrollbar-thumb {
border-radius: 4px;
background:rgba(0,0,0,0.4);
}
上面的是css代码,在html文件中被引用,让后呗QWebView::setHtml()调用,就可以改变了,值得注意的是,在这里qwebview如果加载了其他html,就会失去了这个样式,
具体的解决方法,还在研究,如果有朋友有方法,欢迎提出