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 奋楫扬帆 行稳致远 7996472
- 2 千万彩票被冒领 男子头发全白了 7911887
- 3 80后爸爸辅导作业气到心肌梗死 7828790
- 4 解读2025年中国经济政策关键词 7770019
- 5 张柏芝17岁大儿子正脸曝光 7654403
- 6 男子花6万送女儿一匹真的小马宝莉 7527155
- 7 汪小菲一家现身 马筱梅站C位 7400918
- 8 有学生手拉手跳楼?苏州回应 7393282
- 9 深圳住宅楼爆炸致1人死亡 7274547
- 10 特朗普提名“准儿媳”当大使 7134991