第五代正式发布
第五代正式发布
我很高兴宣布 pywebview 5 的发布。新版本引入了三项主要功能:Android支持、DOM操作和应用程序设置。完整的变更日志请查看此处。
如果你对 pywebview 不熟悉,它是一个让你能够使用HTML、CSS和JavaScript为你的Python程序构建图形用户界面的库。适用于Windows、macOS、Linux和Android系统。pywebview 可通过以下命令安装:
pip install pywebview
Android
你现在可以在Android设备上运行 pywebview。尽管移动体验有自己的限制,但除了这些限制之外,它在其他平台上都表现一致。具体如何将你的应用打包成Android格式,请参考冻结指南。
DOM 支持
通过DOM支持,你可以直接从Python中执行类似jQuery的DOM操作,包括遍历和事件处理。你还可以访问和修改元素的属性、样式和类。新的 Element
对象代表了Python中的一个DOM节点。它由 window.dom.get_element
、window.dom.get_elements
和 window.dom.create_element
返回。主体、文档和窗口分别可以通过 window.dom.body
、window.dom.document
和 window.dom.window
方便地访问到。新的JavaScript序列化器允许你序列化更多类型的JavaScript对象并处理循环依赖,因此:
以下是一个新API的示例:
window.dom.document.events.scroll += lambda e: print(window.dom.window.node['scrollY'])
button = window.dom.create_element('<button disabled class="hidden">Button</button>', window.dom.body)
button.style['width'] = '200px'
button.attributes = { 'disabled': False }
button.events.click += click_handler
button.classes.toggle('hidden')
一个广受欢迎的功能是对于拖放操作的完整文件路径支持。pywebview 通过引入 event['dataTransfer']['files'][0]['pywebviewFullPath']
来增强 DropEvent
,该属性包含掉落文件(或多个文件)的完整绝对路径。完整的路径仅在Python侧可用。
应用程序设置
pywebview 对默认体验有相当明确的意见。多年来,我收到了许多功能请求,要求更改默认行为,而新的应用程序设置现在使这成为可能。新版本引入了 webview.settings
字典,具有以下选项:
webview.settings = {
'ALLOW_DOWNLOADS': False, # 允许文件下载
'ALLOW_FILE_URLS': True, # 允许访问file:// URL
'OPEN_EXTERNAL_LINKS_IN_BROWSER': True, # 在外部浏览器中打开 target=_blank 链接
'OPEN_DEVTOOLS_IN_DEBUG': True, # 当 `start(debug=True)` 时自动打开开发者工具
}
应用程序设置必须在调用 webview.start()
前进行设置,以便生效。
更多了解
支持项目
pywebview 大多数情况下是一个一人维护的项目,只有在有空闲时间时才会 sporadically 更新。任何帮助都受到欢迎,贡献的最佳方式是提交拉取请求。总是欢迎修复错误。如果你希望提交新功能,请创建问题并在之前讨论它。查看贡献指南以了解如何开始。
如果你觉得 pywebview 有用,并希望看到它在未来继续发展,请考虑支持它。如果你代表一家公司,考虑成为赞助商以获得曝光并连接到Python开发人员。

</a>
</div>
<div class="center spc-l spc-vertical">
<a href="http://bit.ly/2eg2Z5P" target="_blank">
<img src="/paypal.png"/>
</a>
</div>