在桌面上显示透明html效果,使用QWebkit
加载html实现,采用窗口背景透明和穿透方式
从page()
中得到QNetworkAccessManager
,在从中得到QNetworkCookieJar
,
最后得到cookie,当然也可以设置自己的QNetworkCookieJar
通过QWebFrame
的addToJavaScriptWindowObject
函数提供进行Python对象和Javascript的交互
具体看代码中的注释
- 方式1:原理是通过
QWebView.QWebPage.QWebFrame
得到内容的高度,然后设置QWebPage.setViewportSize
的大小, 最后通过QWebFrame.render
把图片截出来 - 方式2:通过js库
html2canvas
对指定元素截图,得到base64
编码的数据并调用接口函数传递到py代码中
- 重点在于设置
os.environ['QTWEBKIT_PLUGIN_PATH'] = os.path.abspath('Data')
,非常重要,设置为NPSWF32.dll文件所在目录 - 其次是xp下ssl问题,具体参考代码
通过QNetworkAccessManager
中的createRequest
方法对每个请求做拦截过滤