在Python webview中如何使用JavaScript与Python代码交互?
时间: 2024-09-10 15:00:16 浏览: 69
在Python中使用`webview`库创建的本地窗口中,可以通过`webview`提供的API与JavaScript进行交互。以下是一个简单的交互流程:
1. 初始化`webview`窗口,并设置好窗口大小、标题和要加载的本地HTML文件路径。
2. 在HTML文件中,通过`window.pywebview`对象调用`evaluate_js`方法来执行Python代码。此方法接受两个参数,第一个参数是要执行的JavaScript代码,第二个参数是一个回调函数,用于处理返回的结果。
3. 在Python代码中,可以定义一个函数来响应`evaluate_js`方法的回调,该函数接收JavaScript代码执行后返回的结果作为参数。
示例代码如下:
Python端代码:
```python
import webview
def js_to_py(result):
print("来自JavaScript的结果:", result)
html_content = """
<!DOCTYPE html>
<html>
<head><title>Python与JavaScript交互示例</title></head>
<body>
<p id="demo">一个段落</p>
<script type="text/javascript">
document.getElementById('demo').innerHTML = 'Hello, world!';
window.pywebview.evaluate_js('Python()');
</script>
</body>
</html>
"""
window = webview.create_window('Python与JavaScript交互示例', html_content)
webview.start(
window=window,
js_api={ # 在这里可以定义JavaScript可以调用的Python函数
'Python': lambda: 'Python says: Hello from Python!'
}
)
```
在这个示例中,JavaScript代码执行了Python定义的`Python`函数,并通过回调函数`js_to_py`输出了结果。
阅读全文