我们公司的项目用到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,就会失去了这个样式,具体的解决方法,还在研究,如果有朋友有方法,欢迎提出