关于qt的webview控件的滚动条样式自定义

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


发布了4 篇原创文章 · 获赞 0 · 访问量 9473

猜你喜欢

转载自blog.csdn.net/yangkping123/article/details/46892441