有个方案是直接嵌入 WebView
https://github.com/webview/webview里面有 python 的封装。
如果是 Windows,可以用 aardio 嵌入 Python 和 WebView,WebView 可以直接调用 aardio 函数,aardio 函数可以直接调用 Python 函数,也就实现了 Javascript 间接调用 Python 函数。一个简单的例子:
import win.ui;
var winform = win.form(text="web.view")
import web.view;
var wb = web.view(winform);
import py;
var pyCode = /**
def testPy(): return "测试 test"
**/
py.exec( pyCode )
wb.external = {
testPy = function() return tostring( py.main.testPy() );
}
wb.html = /**
<html><head>
<script type="text/javascript">
aardio.testPy().then( v=>document.write(v) )
</script>
</head>
**/
winform.show();
win.loopMessage();