
pywebview构建桌面应用新选择
pywebview 是一个轻量级的 Python 库,它允许开发者在桌面应用中使用原生的 Web 视图组件来展示 HTML、CSS 和 JavaScript 构建的 Web 页面。如果你有现成的前后端分离项目要打包为桌面应用,这个是最方便的。
一、安装 pywebview
pip install pywebview
import webviewdef load_html(): # 这里可以返回一个 HTML 字符串或者加载本地 HTML 文件的路径 html = """ <html> <body> <h1>欢迎使用 pywebview 示例应用</h1> <p>这是一个在桌面应用中嵌入 Web 内容的简单演示。</p> </body> </html> """ return htmlif __name__ == '__main__': # 创建一个窗口,并指定窗口标题和加载的 HTML 内容 window = webview.create_window('pywebview 演示', html=load_html()) webview.start()
import webviewdef python_function(): print("这是从 JavaScript 调用的 Python 函数")def load_html(): html = """ <html> <body> <h1>pywebview 交互示例</h1> <button onclick="callPythonFunction()">调用 Python 函数</button> <script> function callPythonFunction() { // 使用 pywebview 的 JavaScript API 调用 Python 函数 pywebview.api.python_function(); } </script> </body> </html> """ return htmlif __name__ == '__main__': api = { 'python_function': python_function } window = webview.create_window('pywebview 交互演示', html=load_html(), js_api=api) webview.start()
mounted() { window.external = { vueMethod: (data) => { console.log('Received data from Python:', data); // 在这里可以进行相应的处理,如更新 Vue 组件的状态 } };}
import webviewdef load_vue_app(): # 这里指定 Vue3 应用构建后 index.html 的路径 return 'path/to/my-vue-app/dist/index.html'def call_vue_method(): window.evaluate_js('window.external.vueMethod("Hello from Python")')if __name__ == '__main__': window = webview.create_window('My Vue3 Desktop App', html=load_vue_app()) webview.start(call_vue_method)
[超站]友情链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/

随时掌握互联网精彩
- 1 习近平向抗战烈士敬献花篮 7904593
- 2 南京“红老头”系38岁男子 已被刑拘 7808016
- 3 特朗普对日韩等14国加税 最高40% 7714672
- 4 多措并举应对高温“烤”验 7617041
- 5 高铁F座为什么最受欢迎 7520405
- 6 百亿市值上市公司董事疑坠楼去世 7429111
- 7 网警公布6起侮辱英烈案 7334279
- 8 外交部:中方已向印度提出交涉 7233464
- 9 曝蜜雪冰城员工用脚关直饮水桶 7138155
- 10 女星戴燕妮在巴黎被破窗抢劫 7044484